由于移动设备的内存有限
需要处理文件时就得格外小心
以下是段将文件分块读出
并且计算md5值的一段函数
#import <CommonCrypto/CommonDigest.h>
NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path];
if( handle== nil ) {
return nil;
}
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* s = [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],

在内存有限的iOS设备上,处理文件时需谨慎。本文介绍了一种分块读取文件并计算MD5值的函数,以实现高效且节省资源的文件处理。
最低0.47元/天 解锁文章
8421

被折叠的 条评论
为什么被折叠?



