0
我創建了一個與我的包一起部署的文件的MD5,以決定是否需要導入它。 我的問題是,當我創建MD5總是不同的。即使我用相同的數據在循環中調用MD5方法10次,我也得到了不同的結果。NSData的MD5總是不一樣
這裏是我的MD%方法:
- (NSString*)hashForData:(NSData*)data
{
unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH];
CC_MD5((__bridge const void*)(data), (CC_LONG)data.length, md5Buffer);
NSMutableString* output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", md5Buffer[i]];
return output;
}
- (NSData*)data
{
if (!_data) {
_data = [NSData dataWithContentsOfFile:_path];
}
return _data;
}
任何想法可能是錯誤的?
使用選擇器vs屬性根本不重要。但是你絕對不能把對象轉換成指針。 –
@ RichardJ.RossIII它對我有用。 – trojanfoe
你是絕對正確的。 CC_MD5([數據字節],(CC_LONG)data.length,md5Buffer); – netshark1000