当我使用此代码在我的 iPhone 应用程序中生成 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。谢谢!