SetaPDF
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 15.08.2002, 12:23   #1
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE

[PHP] Passwortgenerator frisst Zeichen?


Hi,

ich hab eine kleine Funktion gebastelt, die ein zufälliges Passworte erstellt mit einer angegebenen Länge:

PHP-Code:
function generatepw($lenght)
{
    
$pass "";
    
$index 1;
    while (
$index <= $lenght)
    {
        
mt_srand((double)microtime()*1000000);
        
$random mt_rand(0,61);
        
$pass .= substr("abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ0123456789"$random1);
        
$index++;
    }
    return 
$pass;

Wenn ich nun zum Beispiel die Länge "8" angebe, erstellt er mir ein Passwort mit 8 Zeichen. Allerdings nicht immer, manchmal sind es nur 7 oder 6.

Kann man ganz einfach überprüfen:

PHP-Code:
$zahl=0;
while (
$zahl <= 20)
{
    echo 
generatepw(8); echo "<br>";
    
$zahl++;

Einige Passwört haben fehlende Zeichen ... hat jemand eine Ahnung, wieso? Danke!
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten


Alt 15.08.2002, 12:30   #2
TP-Supporter
 
Benutzerbild von wanni
 
Registriert seit: Mar 2001
Ort: Göttingen
wanni macht alles soweit korrekt
Probier mal, das Leerzeichen vor abcdef... zu löschen
__________________
Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)
wanni ist offline   Mit Zitat antworten
Alt 15.08.2002, 12:34   #3
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Äh, da ist normalerweise keins - das hat das Forum hier gemacht
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 15.08.2002, 12:44   #4
TP-Supporter
 
Benutzerbild von wanni
 
Registriert seit: Mar 2001
Ort: Göttingen
wanni macht alles soweit korrekt
Ok

dann mach mal

PHP-Code:
$random mt_rand(0,60); 
sollte funktionieren
__________________
Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)
wanni ist offline   Mit Zitat antworten
Alt 15.08.2002, 12:52   #5
TP-Supporter
 
Benutzerbild von wanni
 
Registriert seit: Mar 2001
Ort: Göttingen
wanni macht alles soweit korrekt
Oder Du lernst nochmal das Alphabet

In der Zeichenkette fehlen sowohl "w" als auch "W", dann müßte es auch wieder mt_rand(0,61) heißen
__________________
Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)
wanni ist offline   Mit Zitat antworten
Alt 15.08.2002, 13:07   #6
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Aaah, das wars ... danke *roll*
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 15.08.2002, 13:57   #7
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
...oder du verwendest das hier. Bewirkt genau das gleiche, indem es den aktuellen Timestamp in Millisekunden (microtime()) per MD5 verschlüsselt:

PHP-Code:
function generateRandomString($length)
{
return 
substr(md5(microtime()),0$length);

seb ist offline   Mit Zitat antworten
Alt 15.08.2002, 14:07   #8
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
@seb

Habe ich bislang auch immer so gemacht, aber Stuck Mojo hat mich darauf gebracht, dass selbiges nicht der eleganteste Weg ist: Denn Du hast so keine Kontrolle über die verwendeten Zeichen und nicht alle derselbigen sind in Passwörtern wünschenswert (z.B. "I" und "l", Verwechselungsgefahr).
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 15.08.2002, 14:23   #9
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Aus diesem Grund benutze ich meine Variante - eine 1 und ein l sehen sich auch recht ähnlich ... mit dieser Version kann man Zeichen auch bewusst "weglassen" ...

Man könnte allerdins auch die md5-Variante nehmen, mit einer RegExp alle I, l und 1 entfernen und dann auf acht Zeichen kürzen
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 15.08.2002, 14:30   #10
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Zitat:
Original geschrieben von Adagio


Man könnte allerdins auch die md5-Variante nehmen, mit einer RegExp alle I, l und 1 entfernen und dann auf acht Zeichen kürzen
Das kann man in der Tat. Man kann sich aber auch ein Loch ins Knie bohren und heiße Milch draus trinken.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 15.08.2002, 14:33   #11
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
oder den String in Großbuchstaben zurückgeben. Der durschnittliche Computerbenutzer wird doch dazu fähig sein, eine 1 von einem I oder auch einem l zu unterscheiden...falls sein Passwort nicht funktioniert, wird ers merken und feststellen, worans liegt.

Aber falls man unbedingt Kontrolle über die verwendeten Zeichen haben möchte, habt ihr mit eurem Einwand natürlich vollkommen recht.

edit:

Noch ein Nachteil von meiner Lösung könnte sein, dass sie eventuell nicht dafür geeignet ist, mehrere Zufallsstrings kurz nacheinander zu erzeugen.

Sicher wird man sowas vielleicht nie brauchen, aber wenns doch mal vorkommt und der betreffende Computer entsprechend schnell ist , würde er gleiche Passwörter ausgeben, da microtime() ja keine Zufallszahl ist, und die Zeitabstände zwischen den Befehlsausführungen vielleicht kürzer als eine tausendstel Sekunde sein könnten...rein theoretisch...

Geändert von seb (15.08.2002 um 14:39 Uhr).
seb ist offline   Mit Zitat antworten
Alt 15.09.2002, 01:09   #12
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Zitat:
Original geschrieben von seb
oder den String in Großbuchstaben zurückgeben. Der durschnittliche Computerbenutzer wird doch dazu fähig sein, eine 1 von einem I oder auch einem l zu unterscheiden...falls sein Passwort nicht funktioniert, wird ers merken und feststellen, worans liegt.

Aber falls man unbedingt Kontrolle über die verwendeten Zeichen haben möchte, habt ihr mit eurem Einwand natürlich vollkommen recht.
Nur mal als Info, da ich wiedermal an sowas dran bin

Arial: I,1,l,O,0
Times New Roman: I,1,l,O,0
Courier: I,1,l,O,0
Cenury: I,1,l,O,0

...manches sieht sich doch sehr ähnlich... und ich kann aus Erfahrung sagen, dass es nicht so ist, dass der jenige es merkt, sondern eher eine Email schreibt, als an seinem Passwort rumzuprobieren.

Grussi Jan
Stuck Mojo ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[PHP] Passwortgenerator frisst Zeichen? [PHP] Passwortgenerator frisst Zeichen?
« Help needed- Formular - Variable-Include | [PHP] Alle txt-Dateien eines Verzeichnis ermitteln »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:49 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67