Question

Je générer un code de vérification à utiliser pour l'activation du compte. Vous avez probablement vu ce genre de chose auparavant.

Ma question: si je devais générer ce code avec une formule complexe comme celui-ci:

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

Est-il vraiment mieux que générer juste une chaîne aléatoire de 32 caractères et chiffres comme gj3dI3OGwo5Enf...?

Était-ce utile?

La solution

Non, en utilisant le hachage est pas mieux. Il serait plus sûr (moins prévisible) pour prendre 32 caractères aléatoires. (Digits sont des caractères.) Utilisez un bon ( « cryptographique ») générateur de nombres aléatoires, avec une bonne semence (quelques octets de / dev / random). Ne pas utiliser le temps comme une graine.

Autres conseils

D'accord avec erickson, juste peut vous conseiller d'utiliser

pwgen -1 -s

commande sur * nix qui le travail muich mieux de toute procédure que vous pouvez inventer.

Si vous voulez générer une chaîne programme vous pouvez jeter un oeil à

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

ce qui donne très bon niveau de caractère aléatoire et avant les collisions.

Si vous avez besoin niveau de sécurité encore plus élevé, vous pouvez envisager de générer des séquences aléatoires sur http: //www.random. org /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top