Passwort für .htusers in php erzeugen

Gast #3083379
Lesenswert?
• ▲
▼
Nabend!

Ich versuche seit Tagen erfolglos meine Passwörter mit crypt zu 
verschlüsseln.

Aber irgendwie brauch ich mal nen Denk-Schubs.

Mein Test-PHP-Script sieht so aus:
1
<?php
2
echo crypt($x, CRYPT_SALT_LENGTH)."<br>";
3
echo crypt($x, CRYPT_STD_DES)."<br>";
4
echo crypt($x, CRYPT_EXT_DES)."<br>";
5
echo crypt($x, CRYPT_MD5)."<br>";
6
echo crypt($x, CRYPT_BLOWFISH)."<br>";
7
echo crypt($x);
8
?>
Ich gebe das zu verschlüsselnde Passwort mit "crypt.php?x=passwort" im 
Browser ein und erhalte dann 6 Varianten dieses Passwortes. Aber 
keines wird vom Apachen als richtig erkannt.

Hier noch meine .htusers-Datei, die ich zu Testzwecken benutze:
1
user1:eOPiDUHy0Frnm
2
user2:MmavXgWYzNsF0
3
user3:gwfzGt.5PBn3vxzmL1luy.
Wenn ich das Passwort via Selfhtml-Homepage erzeuge, dann geht alles wie 
gewünscht!

Was mich auch wundert, ist dass das von Selfhtml erzeugte Passwort 13 
Zeichen lang ist. Mit crypt("passwort") bekomme ich ein 22 Zeichen 
langes Passwort.

Bei user1 habe ich den vorderen Teil abgeschnitten, sodass 13 Zeichen 
verbleiben
bei user2 habe ich den hinteren Teil abgeschnitten, sodass 13 Zeichen 
verbleiben
bei user3 habe ich alles so gelassen wie es ist.

Aber keine der Varianten funktioniert. Wer weiß da Rat?
Gast #3083416
Lesenswert?
• ▲
▼
In der Doku steht, dass das Passwort mit crypt() erzeugt werden kann.

Mache ich ja auch, z.B. crypt("geheim");

Da kommt dann "$1$qYL6qU8k$MXN.S6qpPrg6fucU20m2w/" raus
                           ^^^^^^^^^^^^^^^^^^^^^^
Laut Doku ist das Passwort ab hier enthalten. Alles davor ist 
Salt-Gedöns.

Kern meiner Frage ist, wie erzeuge ich daraus den 13 Zeichen langen 
Crypt-Code?
Gast #3086602
Lesenswert?
• ▲
▼
Läubi .. schrieb:
> Wieso nicht? Woher soll der Server den den kenne wenn er weder
> a) angehängt ist
>  noch
> b) per Konvetion gegeben ist

zu a) der Salt steht doch im Klartext am Anfang des verschlüsselten 
Passwortes. Den braucht sich der Server nur vorn "ablesen".

zu b) crypt() bringt ohne Salt-Parameter schon von sich aus einen 
Zufalls-Salt mit (Test: einfach dasselbe Passwort wiederholt 
verschlüsseln lassen -> ist jedesmal ein anderes Ergebnis). Deswegen bin 
ich davon ausgegangen, dass ich den Salt nicht noch explizit vorgeben 
muss (KISS-Prinzip). Aber mit dem Default-Salt geht's anscheinend nicht 
- warum auch immer.

Nunja, jetzt läuft es und ich bin zufrieden :)


Hier noch meine Umsetzung (als Salt gebe ich eine 2stellige Zufallszahl 
zwischen 10 und 99 vor)
1
<?php
2
$u="user";
3
$p="password";
4
echo "$u:".crypt($p,rand(10,99));
5
?>

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.