首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

iPhone 处置大文件(MD5)

2012-10-05 
iPhone 处理大文件(MD5)+(NSString*)fileMD5:(NSString*)path{NSFileHandle *handle [NSFileHandle file

iPhone 处理大文件(MD5)

+(NSString*)fileMD5:(NSString*)path{    NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path];    if( handle== nil ) return @"ERROR GETTING FILE MD5"; // file didnt exist     CC_MD5_CTX md5;     CC_MD5_Init(&md5);     BOOL done = NO;    while(!done)    {        NSData* fileData = [handle readDataOfLength: CHUNK_SIZE ];        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],                   digest[4], digest[5],                   digest[6], digest[7],                   digest[8], digest[9],                   digest[10], digest[11],                   digest[12], digest[13],                   digest[14], digest[15]];    return s;}
?

热点排行