當我使用這個代碼在我的iPhone應用程序生成hash256:問題與目標C hash256
unsigned char hashedChars[32];
NSString *inputString;
inputString = [NSString stringWithFormat:@"hello"];
CC_SHA256([inputString UTF8String],
[inputString lengthOfBytesUsingEncoding:NSASCIIStringEncoding ],
hashedChars);
NSData * hashedData = [NSData dataWithBytes:hashedChars length:32];
inputString的hash256,創建正確的,但如果我使用像這樣的字符串@「\ x00 \ x25 \ x53 \ b4「,hash256與帶有」\ x「字符的實際字符串不同。 我認爲問題出在編碼「UTF8」,而不是ascii。 謝謝!
你不缺少在X @ 「\ X00 \ X25 \ X53 \ B4」?不應該是@「\ x00 \ x25 \ x53 \ xb4」。 – 2010-09-12 22:46:20
嗨pakzip,考慮到你真正想解決的問題之一是你的意見之一是Python實現和Objective-C之間的區別。所以我建議你在你的問題中加入以下信息:(1)「正確」例子的輸入和輸出,正確的意思是Python和Objective-C同意。 (2)「錯誤」示例的輸入和輸出(顯示輸入和Obj-C輸出以及Python輸出)。 (3)python源碼。有了這些信息,我們應該能夠幫助你! – idz 2012-05-30 09:11:48