Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Passwörter generieren (https://boardunity.de/passw-rter-generieren-t4234.html)

LonelyPixel 15.08.2006 18:30

Passwörter generieren
 
Kennt hier zufällig jemand irgendein Stück Code oder hilfreiche Algorithmen oder Methoden, um automatisch Passwörter zu generieren, die einem gewissen Sicherheitsniveau genügen (also scheinbar zufällige Zeichen, Zahlen und evtl auch Großbuchstaben oder andere Zeichen enthalten) und dabei trotzdem einigermaßen gut zu merken (also in erster Linie aussprechbar) sind? Ich habe vor einiger Zeit mal was in JavaScript entwickelt und es heute in PHP übersetzt und erweitert, aber der Code sieht mehr wie ein Flickwerk aus, enthält lange Listen von unerwünschten Zeichenkombinationen und führt immer noch nicht zu subjektiv befriedigenden Ergebnissen. Klar ist es besser als reine Zufallspasswörter, aber ich hätt halt gern auch was „schönes“. :)

wurstbrot 15.08.2006 19:13

Gerade gestern eine entsprechende Funktion geschrieben:

PHP-Code:

/**
* erzeugt ein zufälliges Passwort mit variabler Länge
* es wird dabei darauf geachtet, dass das passwort möglichst mnemonisch ist und damit gut zu merken.
* @param string $password: mnemonisches Passwort mit mindestens 7 Zeichen, max. 14
*/
public static function st_createRandomPassword() {
        
$vokale "aeiouy";
        
$konsonanten "bcdfghjklmnprstvwxz";  
        
$special '!@#$%';
        
        
$password "";
        
        
//zufällige Länge zwischen 5 und 10 Zeichen festlegen
        
$sizeCharacter mt_rand(5,10);
        
        for(
$i 1$i <= $sizeCharacter$i++) {
            
$passwort .= substr($konsonantenmt_rand(0strlen($konsonanten)-1), 1);
            
$passwort .= substr($vokalemt_rand(0strlen($vokale)-1), 1);  
        }
        
        
//zufälliges Sonderzeichen einfügen
        
$passwort .= substr($specialmt_rand(0strlen($special)-1), 1);
        
        
        
//Zufällige Anzahl an Zahlen einfügen
        
$sizeNumbers mt_rand(1,3);
        for(
$i 1$i <= $sizeNumbers$i++) {
            
$passwort .= mt_rand(0,9);  
        }
        
        return 
$password;



LonelyPixel 15.08.2006 19:42

Hm, hab das mal ausprobiert, nach ein paar kleineren Korrekturen am Code. So richtig aussprechbar sind die ja nicht, war bei dem einfachen Ansatz auch nicht zu erwarten. Ich kann mir sowas am besten merken, wenn ich es mir im Geiste vorsprechen und mir das Lautbild (zusammen mit ein paar Besonderheiten in der Schreibweise) merken kann. Hier mal ein paar Beispiele, die mein Programm so rauswirft: (hier nur genau 8-stellige)

Mokkvo8Y
nef2Prir
ilskovE8
Rahlo267
nasnam74
vulPa583
lilmiwo3

Aber es sind auch oft welche dabei, die leicht Zungenknoten verursachen oder einfach nicht „schön“ sind (ja, klingt merkwürdig), wie:

jahUjs98
Pvenfof2
glahjs59
Mycmafo3
gvyz113a


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25