» Passwort Generator mit hoher Sicherheit

SUB-ccTLDs bzw. 2-Punkt-Domainendungen ListeNeuen Thread eröffnenNeue Antwort erstellenIP des Besuchers ermitteln REMOTE_ADDR, HTTP_X_FORWARDED_FOR
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 50722
Chats: 11159
Wohnort: Hennef


Meine eBay-Auktionen:
08.02.2008, 05:46
zitieren

Ich habe mir einen Passwortgenerator gebaut. Der Generator baut Passwörter mit höchstmöglicher Sicherheit, da er von jeder Zeichengruppe (Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen) mindestens X Zeichen erwartet.

Die Länge des Passwortes kann dabei zwischen 4 und 40 Zeichen liegen. 4 sind Minimum, da ich zwingend ein Zeichen pro Gruppe voraussetze. Bei mehr als 40 Zeichen braucht die Funktion unter Umständen zu lange.

Die Zeichengruppen können nach Belieben bearbeitet werden oder ganz leer bleiben. Die Variable sollte dann aber zumindest stehen bleiben. Also z.B.:
$spec = '';

Auch wird kein Zeichen mehr als 2 mal geduldet, was die Passwortschwierigkeit noch weiter erhöht.

Diese Funktion habe ich vorrangig dazu entwickelt Passwörter zu generieren, die kaum noch mit Brute-Force zu knacken sind. Alles ab 12 Zeichen dürfte demnach einige Jahre brauchen bis es geknackt werden könnte.

Hier das PHP-Script:
<?php

function rand_pw($min=4, $max=40, $pwlen=0)
{
// settings
$low = 'abcdefghijklmnopqrstuvwxyz';
$up = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$no = '0123456789';
$spec = '/-_#*+!§()=:.@äöüÄÖÜß';
// default vars
$all = $low . $up . $no . $spec;
$len = strlen($all);
$pw = '';
$new = false;
if ( PHP_VERSION < 4.2 )
{
mt_srand(intval((doubleval(microtime()) * 1000003)));
}
if ( !$pwlen )
{
// 4 is the minimum because of the number of char groups
// 40 is the maximum because of the performance
$min = $min < 4 ? 4 : ($min > 40 ? 40 : $min);
$max = $max < 4 ? 4 : ($max > 40 ? 40 : $max);
// min may not below max
$min = $min > $max ? $max : $min;
// set password length
$pwlen = mt_rand($min, $max);
}
else
{
$pwlen = $pwlen < 4 ? 4 : ($pwlen > 40 ? 40 : $pwlen);
}
// create password
for ($i = 1; $i <= $pwlen; $i++)
{
$pw .= $all{mt_rand(0, $len)};
}
// check for lowercase
if ( $low && preg_match('/^[^' . $low . ']+$/', $pw) )
{
$new = true;
}
// check for uppercase
else if ( $up && preg_match('/^[^' . $up . ']+$/', $pw) )
{
$new = true;
}
// check for numbers
else if ( $no && preg_match('/^[^' . $no . ']+$/', $pw) )
{
$new = true;
}
// check for special chars
else if ( $spec && preg_match('/^[^' . preg_quote($spec, '/') . ']+$/', $pw) )
{
$new = true;
}
// count char group appearance
else
{
$ilow = 0;
$iup = 0;
$ino = 0;
$ispec = 0;
$chars = count_chars($pw);
foreach ( $chars as $char => $count )
{
if ( $low && preg_match('/^[' . $low . ']+$/', chr($char)) )
{
if ( $count > 2 )
{
$new = true;
break;
}
$ilow = $ilow + $count;
}
else if ( $up && preg_match('/^[' . $up . ']+$/', chr($char)) )
{
if ( $count > 2 )
{
$new = true;
break;
}
$iup = $iup + $count;
}
else if ( $no && preg_match('/^[' . $no . ']+$/', chr($char)) )
{
if ( $count > 2 )
{
$new = true;
break;
}
$ino = $ino + $count;
}
else if ( $spec && preg_match('/^[' . preg_quote($spec, '/') . ']+$/', chr($char)) )
{
if ( $count > 2 )
{
$new = true;
break;
}
$ispec = $ispec + $count;
}
}
// check for minimum appearance per group
$app = $pwlen > 4 ? floor($pwlen / 5) : 1;
if ( $ilow < $app || $iup < $app || $ino < $app || $ispec < $app )
{
$new = true;
}
}
// obtain new password
if ( $new )
{
$pw = rand_pw($min, $max, $pwlen);
}
return $pw;
}

// Passwort zwischen 4 und 10 Zeichen
echo(rand_pw(4, 10));
echo('<br />');
// Passwort mit fixer Länge von 12 Zeichen
echo(rand_pw(12, 12));
echo('<br />');
// resultiert das gleiche (fixe Länge von 12 Zeichen)
echo(rand_pw(0, 0, 12));
echo('<br />');

?>

Verbesserungsvorschläge sind natürlich willkommen :D


pn email
Beobachter 

Name: Yoda
Fahrzeug: Raketenauto
Anmeldedatum: 20.06.2009
Beiträge: 9
Chats: 0
Wohnort: Popelhausen


Meine eBay-Auktionen:
20.06.2009, 08:59
zitieren

so nun ich weiss das rhema liegt auch weit zurück aber bei mir kommt folgende
Fehlermeldung wenn ich die zusatzzeichen weglasse:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 24 bytes) in /usr/export/www/vhosts/funnetwork/hosting/***/***/***/passgen.php on line 66
(manchmal kommt auch ....on line 13)


pn
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 50722
Chats: 11159
Wohnort: Hennef


Meine eBay-Auktionen:
20.06.2009, 18:09
zitieren

Die Funktion ist ziemlich rechenintensiv. Muss ich bei Zeiten wohl mal vereinfachen :hmm:

pn email
Gast 
20.06.2009, 18:09
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Passwort Generator mit hoher Sicherheit" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...

Zu anything und php passwort sicherheit findest Du weitere passende Themen in der Suche.


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Wie man mit Sicherheit falsch postet
ich fand das Bild gut, deswegen...
von mgutt
4
1.101
12.05.2005, 19:12
TomekEJ9
Mit Maxrev Passwort hier eingeloggt !?
Hallo Zusammen, Im Winter fahre ich einen Micra K12 , nun war ich heute mal auf der Suche nach ein Forum für ihn. Bin unter anderem hier gelandet dachte, da probierst doch mal das Maxrev Loggin aus :D sieht ja ähnlich aus hier. Auf jedenfall...
von Cypress Pearl
1
205
03.01.2012, 10:18
mgutt
FTP Programm mit Master Passwort?
Hallo, ich suche ein FTP Programm mit Master Passwort oder wie könnte man Filezilla passwortgeschützt betreiben? Ich möchte nicht, dass meine FTP Logindaten in Klarschrift auf dem Rechner verfügbar sind. WinSCP kann das, allerdings ist der Client...
von mgutt
6
942
12.07.2012, 13:59
mgutt
Android: Mehrere SSID mit gleichem Namen aber unterschiedlichem Passwort?
Hi, ich habe das Problem, dass ein paar Bekannte von mir zwar in der Lage sind einen anständigen Router zu kaufen, also eine Fritz!Box, aber die ändern die Standard-SSID nicht, so dass ich jetzt schon mehrere Zugänge habe, wo der Name dann im Format...
von mgutt
8
440
21.11.2013, 15:59
mgutt
Turboumbau mit hoher Laufleistung?
Hallo Wollte mal fragen ob es sinn macht wenn man mit 240000T/Km noch nen turbo umbau startet??Um wenn ja ob man da auch (Wenn man schön warm fährt)mit 1,2 bar ladebruck oder mehr ran gehen kann??? Freu mich auf eure anregungen Greetz...
von bander888
7
1.205
26.03.2009, 16:34
Doktor
2001er Accord kaufen mit hoher km? Entscheidungshilfe.
Guten tag. Kann man einen 2.3 ES kaufen der schon 279000 gelaufen hat? Der Innenraum sieht top gepflegt...
von drako292
14
349
05.02.2015, 13:34
r4Th
Prelude 2,2 Bj.97 mit hoher Laufleistung kaufen
Hallo, ich überlege mir einen Prelude 2,2 SCHALTER zu kaufen. Nachdem ich ziemlich bald nach Bestehen des Führerscheines einen Honda Civic EJ9 fahren durfte und somit auf den Geschmack von HONDA gekommen bin, musste ich aus diversen Gründen erstmal mit...
von phil87
9
307
24.08.2014, 18:10
The Uwe
zu hoher Verbrauch mit BA4 Prelude Motor etwas laut
Ich brauche Hilfe Mein BA4 Prelude 2,0 Ex BJ 88, 109 PS 59tsd km gelaufen zeigt folgenden Fehler: Der Wagen ist nicht so richtig spritzig, fährt eher wie ein 190d, Der Verbrauch liegt bei 14,9 l, früher hatte ich den gleichen Wagen mit manueller...
von Citycruiser
0
351
17.12.2008, 16:03
Citycruiser
Hoher Verbrauch, ED6 mit MPFI // nach 10 tagen abgesoffen ?!
Hey, Ich hab mir vor kurzem ein ED6 gekauft und direkt auf Mpfi umgebaut. Läuft auch alles gut und fehlerfrei, nur der Verbrauch ist extrem. der Wagen schluckt ca. 13-14 l/100 km. zündkerzen sind neu, und wie schon gesagt Steuergerät zeigt kein fehler...
von Fabian1612
50
1.285
04.12.2012, 18:45
Fabian1612
Generator Hilfe
Habe mal eine Frage, und zwar macht mein Generator Geräusche. Soll ich einen neuen kaufen oder den alten überholen lassen? Und gibt es verschiedene Generatoren was den Ladestrom angeht? Auf meinem schild ist nichts mehr...
von renep92
13
296
16.09.2013, 17:08
98er civic
© 2004 - 2016 www.programmierer-forum.de | Communities | Impressum |