Zitat von
automatix:
Was muss ich ändern, damit ich die alten Passwörter entschlüsselt bekomme?
Passwörter werden hier weder entschlüselt noch wurden sie vorher verschlüsselt. Der Hashwert (oder Vergleichbares) wird als Schüssel für die Chiffrieralgorithmus verwendet.
Zitat von
Assertor:
Hi automatix,
bist Du denn sicher, daß bei der alten
DEC auch der Hash wirklich auf das Passwort angewendet wurde? Ich kenne leider die
DEC 3 nicht mehr so gut, aber wenn das Kennwort direkt als Basis der Verschlüsselung ohne Hash angewendet wird, wäre das eine mögliche Ursache.
Ich würde jetzt
1) prüfen, ob in der
DEC 3 der Hash oder das Passwort direkt verwendet wird
2) prüfen, in welchem Format die Ausgabe des Hash bzw. Ciphers vorliegt
Es kann ja z.B. sein das bei der
DEC 3 das Encoding bsp. einen MIME32 oder HEX-Text zurückliefert. Dies wäre dann mit deinem obigen
DEC 5.2 Code inkompatibel, hier müsstest Du entsprechend das Encoding anpassen.
...
Gruß Assertor
P.S.: Zusätzlich kannst Du schon den Code für D2009 "vorbereiten" in dem Du - ähnlich meinem
DEC 5.2 Beispiel - Length(aPasswort) * SizeOf(aPasswort[1]) nutzt. Dann kommt bei einer Umstellung der Code auch mit der geänderten Größe der Chars klar.
Das ist mM alles nur "herumdoktern" :) Was soll es bringen, wenn die Bit/Byte-Kodierung der Passwörter anders ist? Wenn jetzt 'abc' 6 Bytes lang ist, wirst Du auch nicht den gleichen Hashwert erhalten,
egal, ob Du etwas wie Hash('abc',3) or Hash('abc', 6) berechnest. Ich hoffe, daß diese
Unicode-String=Default-Desaster endlich dazu führt, daß man Byte- oder Bitstring bei Hashalgorithmen verwenden, denn dafür sind ja geschrieben.
Gruß Gammatester