SHA1 Java und PHP

Resthirn

Mitglied
Hallo Freunde,

ich bin mal wieder zu blöd was zu programmieren 😱

Ich bekomme es nicht 100% hin, dass die SHA1-Hashes von Java und PHP übereinstimmen. Bei Sonderzeichen will es irgendwie nicht hinhauen.

Mal von der Java Seite aus gesehen:

Code:
String s = "TEST \"EINS\"";

Der SHA1-Hash ergibt: ac5eb1c17dd545a59df433126f01df91bf145799

Unter php erhalte ich den gleichen Hash, wenn ich den String wie folgt übergebe:

PHP:
echo sha1('TEST "EINS"');

Wenn ich den String aber mit Escape-Zeichen für die doppelten Quotes " mit übergebe (was ich letztendlich brauche):

PHP:
echo sha1('TEST \"EINS\"');

bekomme ich den SHA1-Hash: bb236fc9ab1ff6b9ee0ae68cf02fed152f8c16f8

Und das bekomme ich nicht hin und suche schon seit 12 Uhr mir die Finger wund.

Hat jemand eine Idee für mich?

Danke!
 
Muss man bei single-quoted Strings in PHP denn überhaupt die Double-Quotes escapen? Falls nicht, landen die '\' natürlich mit im String und werden mitgehasht.
 
Wie 'Marco01_809' bereits angemerkt hat ist es nicht nötig Anführungszeichen, die in Hochkommata eingeschlossen(zweites php beispiel) sind, zu escapen. Der Grund dafür ist das in php Bereiche die in Hochkommata eingeschlossen sind nicht auswertet werdem, wohingegen Bereiche die in Anführungszeichen eingeschlossen sind ausgewertet werden.
 
Der String der in Java gehast wird ist: TEST "EINS"
Der String der in PHP gehast wird ist: TEST \"EINS\"

Wenn du den 2. String in Java hashen willst müsstest du Java folgendes geben: TEST \\\"EINS\\\"
 

Zurück
Oben