我正在使用此代码创建从提供字符串到下放IOS应用程序的哈希。
-(NSString*) sha1:(NSString*)input
{
const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:input.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, data.length, digest);
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
我的 PHP 代码是
sha1(json_encode($array));
我有包含阿拉伯语的字符串。
当我从英文字符串创建哈希并将其与Ubuntu*强文本下的php代码创建的哈希进行比较时,结果将是相同的。
但是当我创建带有阿拉伯字符的哈希时,它会将它与从 php 代码创建的哈希进行比较并不会得到结果。
那么这段代码的问题是什么。
谢谢