Ist eine zufällige Zeichenfolge ein guter Bestätigungscode
-
01-10-2019 - |
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...
?
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 /