- (void)calculateFileMd5WithFilePath:(NSString *)filePath completion:(void (^)(NSString *fileMD5))completion
{
//生成文件的MD5 校验的是压缩包的MD5 判断下载是否正确
NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:filePath];
if( handle == nil ) {
NSLog(@"文件出错");
}
CC_MD5_CTX md5;
CC_MD5_Init(&md5);
BOOL done = NO;
while(!done)
{
NSData* fileData = [handle readDataOfLength: 256 ];
CC_MD5_Update(&md5, [fileData bytes], [fileData length]);
if( [fileData length] == 0 ) done = YES;
}
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5_Final(digest, &md5);
NSString *fileMD5 = [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
digest[0], digest[1],
digest[2], digest[3],
digest[4], digest[5],
digest[6], digest[7],
digest[8], digest[9],
digest[10], digest[11],
digest[12], digest[13],
digest[14], digest[15]];
NSLog(@"生成的文件MD5为:%@",fileMD5);
completion(fileMD5);
}
ios 计算文件的MD5进行校验
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 项目也快两年了,项目这么长时间下来经历了各种加解密算法,坑也踩过不少.现在把项目中使用过一些常用的加解密算法总结一...
- MAC下MD5校验文件完整性 先上代码: 在.m文件中导入头文件:#import <CommonCrypto/Co...
- 心存信念,勇往直前。大家晚上好,欢迎打开风荷感悟时光。今晚我给大家分享的是:朋友圈,你上还是不上,我都在这里。 在...