WEB开发网
开发学院手机开发iPhone 开发 IPhone中MD5的计算 字符串/文件 阅读

IPhone中MD5的计算 字符串/文件

 2010-07-06 05:13:00 来源:WEB开发网   
核心提示:IPhone中MD5的计算:字符串/文件直接贴代码吧, 让找资料的更直接了…#import +(NSString*) md5:(NSString*) str {const char *cStr = [str UTF8String];unsigned char result[CC_MD5_DIGEST_LENGTH];C

IPhone中MD5的计算:字符串/文件

直接贴代码吧, 让找资料的更直接了…

#import

+(NSString*) md5:(NSString*) str {

const char *cStr = [str UTF8String];

unsigned char result[CC_MD5_DIGEST_LENGTH];

CC_MD5( cStr, strlen(cStr), result );

return [NSString stringWithFormat:

@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",

result[0], result[1], result[2], result[3],

result[4], result[5], result[6], result[7],

result[8], result[9], result[10], result[11],

result[12], result[13], result[14], result[15]

];

}

#define CHUNK_SIZE 1024

+(NSString *)file_md5:(NSString*) path {

NSFileHandle* handle = [NSFileHandle fileHandleForReadingAtPath:path];

if(handle == nil)

return nil;

CC_MD5_CTX md5_ctx;

CC_MD5_Init(&md5_ctx);

NSData* filedata;

do {

filedata = [handle readDataOfLength:CHUNK_SIZE];

CC_MD5_Update(&md5_ctx, [filedata bytes], [filedata length]);

}

while([filedata length]);

unsigned char result[CC_MD5_DIGEST_LENGTH];

CC_MD5_Final(result, &md5_ctx);

[handle closeFile];

return [NSString stringWithFormat:

@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",

result[0], result[1], result[2], result[3],

result[4], result[5], result[6], result[7],

result[8], result[9], result[10], result[11],

result[12], result[13], result[14], result[15]

];

}

Tags:IPhone MD 计算

编辑录入:coldstar [复制链接] [打 印]
赞助商链接