Frage

Ich bin ein Bestätigungs-Code zu erzeugen, die für die Kontoaktivierung verwendet werden. Sie haben wahrscheinlich schon vor so etwas gesehen.

Meine Frage: Wenn ich mit einer komplexen Formel wie folgt aus diesem Code zu erzeugen, bin:

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

Ist es wirklich besser als jede Erzeugung nur eine zufällige Zeichenfolge von 32 Zeichen und Zahlen wie gj3dI3OGwo5Enf...?

War es hilfreich?

Lösung

Nein, den Hash verwendet, ist nicht besser. Es wäre sicherer (weniger vorhersehbar) 32 zufällige Zeichen zu wählen. (Digits sind Zeichen.) Mit einem gut ( „kryptographischen“) Zufallszahlengenerator mit einem guten Samen (einige Bytes aus / dev / random). Verschwenden Sie keine Zeit als Keim verwendet werden.

Andere Tipps

Vereinbaren Sie mit Erickson, nur für einen Benutzer beraten kann

pwgen -1 -s

Befehl auf * nix, die den Job muich besser jedes Verfahren, das Sie erfinden können.

Wenn Sie eine Schnur generieren möchten programmatisch können Sie einen Blick auf

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

das gibt sehr gutes Niveau der Zufälligkeit und vor Kollisionen.

Wenn Sie noch höheres Maß an Sicherheit benötigen können Sie prüfen, Zufallsfolgen auf http zu generieren: //www.random. org /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top