Sie sind nicht angemeldet.

Michael Lorer

Siteadministrator

  • »Michael Lorer« ist der Autor dieses Themas

Beiträge: 2 510

Wohnort: Wangen / Augsburg

  • Nachricht senden

1

Mittwoch, 14. Juli 2004, 17:19

Passwörter generieren

In diesem Tutorial möchte ich euch nun zeigen, wie ihr ganz leicht ein Passwort mit beliebig langen Zeichen generieren könnt, das Buchstaben und Zahlen enthält.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
<?PHP 
//Es wird eine Zufallszahl zwischen 1000 und 9999 generiert 
mt_srand((double)microtime()*1000000); 
$zahl mt_rand(10009999);

//Die Zufallszahl wird mit der md5-Methode verschlüsselt 
$passzahl md5($zahl);
$passw substr($passzahl"0" ,"6");  //Die Zahl 6 gibt die länge des Passworts an 

echo $passw;
?>


Mann kann nun mit dem generierten Passwort machen was man will.(Zum Beipsiel in einer Datenbank speichern oder per Mail an einen User schicken.

Der Codeschnipsel kann ganz einfach aus dem Anhang heruntergeladen werden.

Dieser Beitrag ist unter der Creative Commons Namensnennung 2.0 Deutschland lizensiert. Bearbeitung, Nutzung & Verbreitung ist ausdrücklich gestattet.
»Michael Lorer« hat folgende Datei angehängt:
  • passwort.zip (592 Byte - 670 mal heruntergeladen - zuletzt: 25. August 2010, 05:17)
Jesus lebt

Sie waren mit dem Support zufrieden? Dann unterstützen Sie diese Seite - Spenden per PayPal
Oder beschenken über die Amazon Wunschliste

Öffentlicher PGP-Schlüssel zur sicheren E-Mail-Kommunikation.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Michael Lorer« (4. Juni 2007, 14:19)


2

Mittwoch, 30. März 2005, 16:33

Es gibt auch noch eine etwas kompliziertere methode, mit der man auch Sonderzeichen und Umlaute benutzen kann:

Erst einmal ein Array mit allen gewünschten Zeichen füllen:

PHP-Quelltext

1
2
3
4
5
$pwd = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","","o","p","q","r","s",
"t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M",
"N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9","0");
//und alle anderen Zeichen, die im Passwort enthalten sein sollen(z.B. Umlaute Sonderseichen...)


Dann der Generator:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
for($i=1$i <= xx $i++) /*statt xx jede beliebige zahl als länge des Passwortes angeben*/
{
 srand((double)microtime()*1000000);
 $chars count($pwd);
 $m rand(0,$chars);
 if(isset($p))
  $p .= $pwd[$m];
 else
  $p $pwd[$m];
}


Anschliesend kann man das Passwort wie oben genannt weiterverwenden.

Eine etwas weiter ausgebaute Version dieses Passwortgenerators, bei dem der User selbst bestimmt, aus welchen Zeichen sein Passwort bestehen soll und bei dem er auch selbst die Länge vorgeben kann ist hier.
Ich würde mich über konstruktive Kritick/Lob/Anregungen freuen.

Michael Lorer

Siteadministrator

  • »Michael Lorer« ist der Autor dieses Themas

Beiträge: 2 510

Wohnort: Wangen / Augsburg

  • Nachricht senden

3

Mittwoch, 30. März 2005, 18:34

Hallo,

danke für deinen Beitrag. Schöner Codeschnipsel.

MfG
Michael Lorer
Jesus lebt

Sie waren mit dem Support zufrieden? Dann unterstützen Sie diese Seite - Spenden per PayPal
Oder beschenken über die Amazon Wunschliste

Öffentlicher PGP-Schlüssel zur sicheren E-Mail-Kommunikation.

4

Donnerstag, 12. Mai 2005, 14:09

zu dem thema hab ich gerade mal eine frage:
ich will ein script, das ich erst mit beliebigvielen wörtern füttern kann (array), dann eine schleife die 20x durchläuft und dann jeweils in einer reihe dann dieses wort ausgibt.

kann mir wer davon (bitte) den code posten??

Michael Lorer

Siteadministrator

  • »Michael Lorer« ist der Autor dieses Themas

Beiträge: 2 510

Wohnort: Wangen / Augsburg

  • Nachricht senden

5

Donnerstag, 12. Mai 2005, 17:08

Zitat

Original von guest
zu dem thema hab ich gerade mal eine frage:
ich will ein script, das ich erst mit beliebigvielen wörtern füttern kann (array), dann eine schleife die 20x durchläuft und dann jeweils in einer reihe dann dieses wort ausgibt.

kann mir wer davon (bitte) den code posten??


PHP-Quelltext

1
2
3
4
5
6
<?PHP
$worter = array("Wort 1","Wort 2");
for($x=1;$x<20;$x++){
echo $worter[$x];
}
?>


Musst schauen ob $x<20 oder $x<21 richtig ist...
Jesus lebt

Sie waren mit dem Support zufrieden? Dann unterstützen Sie diese Seite - Spenden per PayPal
Oder beschenken über die Amazon Wunschliste

Öffentlicher PGP-Schlüssel zur sicheren E-Mail-Kommunikation.

6

Donnerstag, 3. November 2005, 09:48

kleiner 20 ist richtig da das array bei 0 anfäng und 0-19 = 20 ^^

7

Dienstag, 8. November 2005, 13:24

dann muss der startwert $x aber auf null gesetzt werden sonnst bekommste das erste wort nicht ausgegeben. oder du fütterst die erste array stelle nicht ;)

8

Dienstag, 28. Februar 2006, 12:37

oder sowas geht auch

PHP-Quelltext

1
2
3
4
    $passwort $_POST['benutzername'].time();
    $passwort md5($passwort);
    $passwort substr($passwort05);
    $passwort md5($passwort);

Thema bewerten