El otro día me sacaron toda mi base de datos,incluyendo usuarios y contraseña,pero estas estaban encriptadas con SHA1,es segura esta cifrado o debería pedir a los usuarios un cambio de contraseña?
si la contraseña está limitada en caracteres tanto cuales y largo, si, es seguro... sin embargo para aumentar la seguridad es recomendable más allá que solo SHA-1, ya que existen las rainbow tables, que son tablas precomputadas para miles de terminos... (es decir, alguien agarró un diccionario y sacó el sha-1 de todo eso, así que es solo buscar)
es recomendable en criptografía usar una combinación y hacer uso de salt...
es decir... en lugar de guardar
SHA-1($password);
creas un valor cualquiera $salt = "valor para mexclar todo" y haces
SHA-1($password+$salt);
eso eliminará la probabilidad de usar tablas precomputadas deteniendo muycho a un atacante... si quieres dificultar más
SHA-1(SHA-1($password+$salt)+$salt);
algunos sistemas como wordpress hacen hasta 8 rondas MD5 por seguridad... pero tampoco es necesario tanto... con eso ultimo no hay tablas precomputadas y obligas a un atacante a sacar 2 SHA + salt por contraseña