Pregunta

Estoy generando un código de verificación que se utilizará para la activación de la cuenta. Usted probablemente ha visto este tipo de cosas antes.

Mi pregunta: si yo fuera a generar este código con una fórmula compleja como esta:

md5(md5(time().'helloguys'.rand(0,9999)));

¿Es realmente mejor que la generación de sólo una cadena aleatoria de 32 caracteres y números como gj3dI3OGwo5Enf...?

¿Fue útil?

Solución

No, utilizando el hash no es mejor. Sería más seguro (menos predecible) para recoger 32 caracteres aleatorios. (Dígitos son caracteres.) Utilizar un buen ( "criptográfica") generador de números aleatorios, con una semilla buena (algunos bytes de / dev / random). No usar el tiempo como una semilla.

Otros consejos

De acuerdo con Erickson, simplemente le puede aconsejar a su uso

pwgen -1 -s

comando en * nix, que tendrá el trabajo muich mejor de cualquier procedimiento que pueda inventar.

Si desea generar un poco de hilo mediante programación puede echar un vistazo a

<?php    
$better_token = md5(uniqid(rand(),1));
?>

esto da muy buen nivel de aleatoriedad y antes de las colisiones.

Si necesita aún más alto nivel de seguridad que usted puede considerar para generar secuencias aleatorias en http: //www.random. org /

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