Ampliación y uso del código de generación de sal para un sistema de inicio de sesión PHP

StackOverflow https://stackoverflow.com//questions/9717116

Pregunta

Estoy trabajando en un sistema de inicio de sesión PHP / MySQL para un proyecto web.Después de mirarlo a través, y muchos artículos en la web, vienen con un marco básico y comenzó a escribir un código para ello.Sin embargo, he llegado a un poco de un cifrado de contraseña.

Después de una noche de lectura, he descubierto que:

  • Debería la contraseña de los usuarios con al menos SHA1 o SHA2
  • También debería usar una sal generada al azar (esto es de lo que necesito ayuda) y agregarlo a la contraseña antes de encriptarla
  • La contraseña hash y la sal generada al azar se debe almacenar en la base de datos y luego se consultaron y combinaron / encriptarse, verificando con la contraseña de los usuarios.

Mi problema está vendiendo generando aleatoriamente la sal,

¿Fue útil?

Solución

Posibilidades que puedo pensar en:

  • Use mt_rand () en un bucle para elegir un código ASCII, obtener el carácter correspondiente con < un href="http://php.net/chr%28%29" rel="nofollow"> chr () y concatenate a la sal.

    Esto permite crear sales con cualquier longitud.

  • Defina una cadena con caracteres disponibles, use mt_rand () en un bucle para elegir posiciones aleatorias de , extraiga el carácter en la posición seleccionada con substr () o mb_substr () y concatenar a la sal.

    Esto permite crear sales con un conjunto de caracteres elegido y la longitud.

  • Use una función incorporada que genere una cadena aleatoria (por ejemplo, uniqid () ) y opcionalmente lo has hecho .

    Esto es rápido y simple.

Normalmente uso la segunda opción.

Otros consejos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top