2009-07-20 14 views
-1

Ich versuche, den folgenden Code aufzurufen SHA1 auf dem iPhone zum Laufen zu bringen:iPhone SHA1 inkonsistent

uint8_t zu verdauen [CC_SHA1_DIGEST_LENGTH] = {0};

CC_SHA1 (keyData.bytes, keyData.length, Digest);

keyData enthält einfach eine konstante Zeichenfolge aus Hex-Code. Allerdings entspricht der Hash-Wert, den ich dadurch erhalte, nicht dem, was Online-SHA1-Generatoren für das gleiche Eingabe-Hex ausgeben, aber noch seltsamer, er bleibt nicht konsistent. Mit anderen Worten, ich führe die Hash-Funktion einmal aus und bekomme ein Ergebnis, zweimal ein anderes.

Kann mir jemand helfen oder auf etwas hinweisen, was ich falsch mache?

Vielen Dank im Voraus!

Antwort

0

Update:

ich es geschafft, das Floating-Problem zu beheben, ich war nicht richtig, die Daten verarbeiten. Der Hash ist jetzt fest krumm, obwohl immer noch falsch. Hier ist ein Hex-Dump der Daten: < 029a2112 0004231b 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000>

Und hier ist ein Hex-Dump des SHA1-Hash: < 244b463b 7a0b2f48 96cfaa01 012823f5 25943ff5>

0

Nein Ich habe mich einfach geirrt. Stattdessen habe ich HashCalc von Slavasoft verwendet und seine Ausgabe entspricht der des iPhone. Vergiss den ganzen Online-Mist! Dieses Problem ist geschlossen.