Anleitung - Passwörter per Zufallsgenerator generieren

vom 27.04.2008, 22:07 Uhr

Wie hat euch mein 2.tes Tutorial gefallen?

Umfrage endete am 04.05.2008, 22:07
Sehr gut
1
50%
Gut
0
Keine Stimmen
Befriedigend
0
Keine Stimmen
Genügend
0
Keine Stimmen
Nicht genügend
1
50%
 
Abstimmungen insgesamt : 2

Oft ist es hilfreich, wenn man bei einem Anmeldeformular gleich noch ein generiertes Passwort mitschickt. Dies verhindert Userpasswörter wie z.B.: geheim etc.

Wie ihr solche Zufallspasswörter macht, zeige ich euch hier: Zuerst legt ihr eine php Datei an (dateiname.php). In diese kommt folgendes:

<?php
function getpass() {
$pass= "";
$size=9; //hier kommt die länge des Passwortes
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öäüß!"§$%&/()=?`²³{[]}\~*'-"; // Die Zeichen, die das Passwort enthält

mt_srand((double)microtime()*1000000);

for ($i=1; $i <= $size; $i++) {
$pass .= substr($string, mt_rand(0,strlen($letters)-1), 1);
}

return $pass;
}
?>

Dieses Pawwort würde dann aus den Zeichen ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 bestehen und 9 Zeichen lang sein.

Für Frage, stehe ich gerne zur Verfügung...

» noname1994-2 » Beiträge: 34 » Talkpoints: 0,13 »



Nun, gerade das Herzstück deiner Funktion, nämlich die Zählschleife kommentierst du nicht. Vielleicht interessiert es die anderen ja, was du dir dabei gedacht hast ;)

Mich interessiert, wie du das, was dort abläuft, in Worte fassen würdest.

» Freddixx » Beiträge: 93 » Talkpoints: 0,15 »


Waere schoen wenn du auch erklaeren wurdest fuer welche Vorgaenge beziehungsweise fuer was genau das ganze denn nun gut sein soll und wem es eventuell etwas nutzt.

Werden dadurch immer Passwoerter generiert, die exakt 9 Zeichen lang sind ? Das waere ja nicht unbedingt das Optimale, denn manche Seiten haben eine Begrenzung auf 8 oder weniger Zeichen. Kann man es vielleicht "einstellen" wie viele Zeichen lang das generierte Passwort sein soll ?

Benutzeravatar

» soetex » Beiträge: 903 » Talkpoints: -23,49 » Auszeichnung für 500 Beiträge



soetex hat geschrieben:Waere schoen wenn du auch erklaeren wurdest fuer welche Vorgaenge beziehungsweise fuer was genau das ganze denn nun gut sein soll und wem es eventuell etwas nutzt.


Ganz einfach: Du hast selbst eine Internetseite - wofür auch immer - und die User dürfen sich bei dir anmelden. Wenn sie kein eigenes Passwort eingeben wollen und in deinem Formular einen Haken bei z.B. "sicheres Passwort generieren" setzen, dann musst du ihnen auch ein solches erstellen können. Und dazu ist dieser Algorithmus da.

soetex hat geschrieben:Werden dadurch immer Passwoerter generiert, die exakt 9 Zeichen lang sind ? Das waere ja nicht unbedingt das Optimale, denn manche Seiten haben eine Begrenzung auf 8 oder weniger Zeichen. Kann man es vielleicht "einstellen" wie viele Zeichen lang das generierte Passwort sein soll ?


Ja, werden sie. Die Länge kannst du ja mittels Variable abändern, das wäre dann nichts anderes als:

Code: Alles auswählen
$size=$_POST['gewuenschte_laenge'];

» Freddixx » Beiträge: 93 » Talkpoints: 0,15 »



Freddixx hat geschrieben:Nun, gerade das Herzstück deiner Funktion, nämlich die Zählschleife kommentierst du nicht. Vielleicht interessiert es die anderen ja, was du dir dabei gedacht hast ;)

Mich interessiert, wie du das, was dort abläuft, in Worte fassen würdest.


Ist doch nichts Kompliziertes dabei. Er wählt für jede Stelle des Paasworts zufällig ein Zeichen aus dem String letters aus; und zwar mit der Funktion substr(). Mit mt_rand() wählt er zufällig die Position im String.

» Killyouridols » Beiträge: 517 » Talkpoints: 35,37 » Auszeichnung für 500 Beiträge


Darum ging's mir ja nicht :D Ich kann PHP ziemlich gut und verstehe schon, was da drin steht, allerdings würde ichs auch mal gern vom Threadersteller hören. Der hat nämlich die leichten Sachen kommentiert, die jeder Anfänger weiß, aber das, was den wirklichen Teil dieser Funktion ausmacht, hat er ausgelassen. Mir stellt sich da schon ernsthaft die Frage, ob er wirklich weiß, wie der Codeschnipsel läuft..

» Freddixx » Beiträge: 93 » Talkpoints: 0,15 »


Hallo!

Nun programmier ich schon über 5Jahre in HTML und seit 3 Jahren in PHP und nun kommt so ein genannter Follprofi her, der sich Freddixx nennt und glaubt, dass ich nicht einmal diese 0800 Funktionen meines Scriptes kenne :S...

Wäre es glaube ich nicht so, dass Du die Funktionen von PHP nicht kennst und es dein Ego nicht verkraftet das zu zugeben? :P

Damit du es nicht zugeben musst, habe ich den kommentierten Script für dich:
<?php // Macht dem Server (kann Apache etc. sein) klar, dass nun ein PHP Script folgt
function getpass() // Die Funktion getpass wird von dem Server aufgerufen
{
// $pass= ""; // überflüssig xD könnte weggelöscht werden ;)
$size=9; //hier kommt die länge des Passwortes
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öäüß!"§$%&/()=?`²³{[]}\~*'-"; // Die Zeichen, die das Passwort enthält

mt_srand((double)microtime()*1000000); // generiert das zufällige Passwort!

for ($i=1; $i <= $size; $i++) { // schleife wird gestartet, bis i in diesem Beispiel 9 ist!
$pass .= substr($string, mt_rand(0,strlen($letters)-1), 1); // die Position wird gewählt
}

return $pass;
}
?> // Script beendet

Bei Fragen, nur zu!

Liebe Grüße,
Alexander

» noname1994-2 » Beiträge: 34 » Talkpoints: 0,13 »



Hi, es scheint so als ob du diesen Generator nicht selber programmiert hättest :P

noname1994-2 hat geschrieben:$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öäüß!"§$%&/()=?`²³{[]}\~*'-"; // Die Zeichen, die das Passwort enthält

Dieses Passwort würde dann aus den Zeichen ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 bestehen.

In diesem Script befinden sich unübliche Zeichen bzw. im Passwort (Fett makiert)!
Der Grund warum ich nicht glaube, dass es nicht von dir ist Kursiv gedrückt. Paradox?!

» Cekic » Beiträge: » Talkpoints: Gesperrt »


Seit wann ist denn ein gutes Passwort ein unübliches Passwort? Oder willst du mir sagen, dass das Passwort Sonnenblume besser ist als X12@2?+-As>g?

Nehme ich doch nicht an - das einzige was ich vielleicht vergessen habe ist, dass Engländer (Englisch bzw. Fremdsprachige Personen) mit dem äöü etc. kleinere bzw. größere Probleme haben werden.

Die können jedoch diese Zeile verwenden:
$letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

Liebe Grüße,
Alex

» noname1994-2 » Beiträge: 34 » Talkpoints: 0,13 »


Hallo,

von PHP habe ich leider nur wenig Ahnung, aber ich habe abseits eurem PHP-Script auch nochmal einen Tipp für euch: Es gibt super Tipps für sichere Passwörter und Online-Passwortgeneratoren, die in wenigen Sekunden diesen Job übernehmen. Sicherlich wird dort das gleiche oder ein ähnliches Script angewendet.

Tipps und Generator:
Klick
Klick

Gruß

» Geegle » Beiträge: 208 » Talkpoints: 0,02 » Auszeichnung für 100 Beiträge


Ähnliche Themen

Weitere interessante Themen

^