Thema: Delphi Mini-SHA1

Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#5

AW: Mini-SHA1

  Alt 16. Okt 2011, 19:55
Ich vermute Du bist vom Unicode-Desaster erwischt worden: 4A3DEC2D1F8245280855C42DB0EE4239F917FDB8 ist der SHA1-Digest der Bytefolge $61,$00,$62. Da Du D2010 benutzt, ist der String 'abc' doch wohl ein Unicodestring. Hashen von Strings halte ich für sinnlos und gefährlich. Kryptographische Hasfunktionen arbeiten auf Bit-/Bytefolgen und die Testwerte sind entsprechend. Für den Testvektor $61,$62,$63 liefert SHA1 den Wert A9993E364706816ABA3E25717850C26C9CD0D89D. Wenn Du unbedingt mit Strings arbeiten willst, nimm für solche Sachen Ansistrings
Delphi-Quellcode:
var
  s: ansistring:
  h: String;

 s := 'abc';
 h := TSHA1.CalcBase(PChar(s), Length(s));
sollte den Testwert ergeben. Wenn Du unbedingt Strings haschen willst, solltest Du TSHA1.CalcBase(PChar(s), Length(s)*Sizeof(char)); verwenden.
  Mit Zitat antworten Zitat