Anleitung - Passwörter per Zufallsgenerator generieren
mt_srand((double)microtime()*1000000); // generiert das zufällige Passwort!
Gut, mein Follprofi (das sich übrigens Vollprofi schreibt), dann lass dir gesagt sein, dass diese Zeile nicht das Passwort generiert, sondern den Zufallsgenerator initialisiert und mit einem Wert versieht.
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öäüß!"§$%&/()=?`²³{[]}\~*'-"; // Die Zeichen, die das Passwort enthält
Dass die enthaltenden Sonderzeichen logisch völliger Schwachsinn sind, brauche ich hier wohl nicht zu erörtern, das hat mein Vorposter schon gesagt.
$pass .= substr($string, mt_rand(0,strlen($letters)-1), 1); // die Position wird gewählt
Dachte ichs mir.. welcher Neuling soll mit der Erklärung was anfangen können?
substr($string, start, ende) gibt einen Teil eines Strings von Anfang bis Ende zurück. Die Zeile hieße also:
Der Variable $pass wird immer 1 Zeichen angehängt (die letzte 1 in der Funktion). Dieses Zeichen wird aus dem Fundus der Variablen $letters genommen. Damit der Zufallsgenerator weiß, wie weit er zählen darf, wird er mit der Variablenlänge-1 initialisiert (das kommt daher, dass Substr bei 0 anfängt zu zählen und nicht bei 1).
So stimmt es. Das ist nicht mal soooo gut formuliert. Aber deswegen wollte ich ja deine Version hören. Nur hast du wahrscheinlich irgendwie die ganze Funktion zusammengefriemelt, ohne jemals den wirklich Sinn dessen zu verstehen, was du da eigentlich verwendest.
Wieviel Jahre ich schon PHP mache, sag ich mal nicht.. diese Klassifizierung wäre bei dir dann wohl schon Rentner
Lassen wir das - hier uns noch auf diesem Weg wortwörtlich zu zanken werden unsere Meinungen/Weisheiten auch nicht verbessern.
Allen, denen das Tutorial gefällt, können es gerne kopieren;
Je nachdem ihr auf Englischen Tastaturen tippt etc. nehmt ihr die Variante ohne Sonderzeichen ($letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; ).
Bei deutschen Tastaturen, ist es für die Sicherheit sicher besser, wenn ihr diese Variante nehmt:
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öäüß!"§$%&/()=?`²³{[]}\~*'-";
Für alle, den Script noch einmal:
<?php
function getpass()
{
// $pass= "";
$size=9;
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öäüß!"§$%&/()=?`²³{[]}\~*'-"; // bei deutschen Tastaturen
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // bei englischen bzw. anderssprachigen
mt_srand((double)microtime()*1000000);
for ($i=1; $i <= $size; $i++) {
$pass .= substr($string, mt_rand(0,strlen($letters)-1), 1); }
return $pass;
}
?>
Liebe Grüße! Freue mich diesmal auf keine Antworten zum Thema "Nicht dein eigener Script".
Ich muss sagen, ist eigentlich eine schöne Idee hier so einen Passwortgenerator hineinzustellen. Ich finde, es ist auch gut verständlich von dir erklärt worden. Es ist eigentlich egal, ob man sich mit PHP auskennnt; ich denke man kann den Generator auch mit ein bisschen logischem Denken ohne PHP Kenntnisse nachvollziehen, vielleicht irre ich mich allerdings auch nur, weil ich mich schon was länger mit PHP und Java beschäftige.
Für eine Zufallspasswort kannst du aber ebenso folgende Möglichkeiten nutzen:
- Code: Alles auswählen
$zufallpw = rand(1,100000000);
Dadurch wird eine Zufallszahl zwischen 1 und 100000000 generiert. Wenn dir das noch nicht sicher genug ist, solltest du uniqid() nutzen.
- Code: Alles auswählen
$zufallpw = uniqid();
Um das ganze dann sicher zu gestalten, gehört üblicherweise noch ein Hash auf das Passwort, die meisten verwenden md5. Das würde für die Beispiele wie folgt aussehen:
- Code: Alles auswählen
$zufallpw1 = md5(rand(1,100000000));
$zufallpw2 = md5(uniqid());
Deine Version kommt mir irgendwie ziemlich umständlich vor. Wenn dir uniqid() ein zu langes liefert, kann du es noch kürzen (z.B. auch auf neun Stellen) und auf das gekürzte Passwort dann einen md5-Hash legen. Wichtig ist, dass du einen md5-Hash nicht entschlüsseln kannst, deshalb sollte man das Passwort ohne Hash via Mail senden.
Link dieser Seite https://www.talkteria.de/forum/topic-21853-10.html
Ähnliche Themen
Weitere interessante Themen
- Notebook von Plus 3147mal aufgerufen · 3 Antworten · Autor: Simone1987 · Letzter Beitrag von Entenhausen
Forum: Hardware
- Notebook von Plus
- Lohnen sich Asien Fonds? 4215mal aufgerufen · 4 Antworten · Autor: Balthasar · Letzter Beitrag von FinanzScout
Forum: Geldanlage
- Lohnen sich Asien Fonds?
- Überweisung rückgängig machen 5663mal aufgerufen · 5 Antworten · Autor: Player · Letzter Beitrag von Wibbeldribbel
Forum: Geld & Finanzen
- Überweisung rückgängig machen
- Geld verdienen mit medzinischen Studien - was meint Ihr? 17162mal aufgerufen · 16 Antworten · Autor: Midgaardslang · Letzter Beitrag von winny2311
Forum: Geld & Finanzen
- Geld verdienen mit medzinischen Studien - was meint Ihr?