iOS Md5编码

来源:互联网 发布:淘宝店铺复制免费 编辑:程序博客网 时间:2024/05/29 03:32

第一种方法

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

{

    const char *cStr = [str UTF8String];

    unsigned char digest[CC_MD5_DIGEST_LENGTH];

    CC_MD5( cStr, (unsigned int)strlen(cStr), digest );

    

    NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];

    

    for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)

        [output appendFormat:@"%02X", digest[i]];

    

    

    return [output lowercaseString];

}

第二方法

- (NSString *)cachedFileNameForKey:(NSString *)key {

    const char *str = [key UTF8String];

    if (str == NULL) {

        str = "";

    }

    unsigned char r[CC_MD5_DIGEST_LENGTH];

    CC_MD5(str, (CC_LONG)strlen(str), r);

    NSString *filename = [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%@",

                          r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10],

                          r[11], r[12], r[13], r[14], r[15], [[key pathExtension] isEqualToString:@""] ? @"" : [NSString stringWithFormat:@".%@", [key pathExtension]]];

    return filename;

}


0 0
原创粉丝点击