MD5加密

作者: 小屋新 | 来源:发表于2017-10-19 13:42 被阅读18次

    -(NSString *)md5String
    {

    // 先转为UTF_8编码的字符串
    const char *value = [self UTF8String];
    
    // 设置一个接受字符数组
    // md5加密后是128bit, 16 字节 * 8位/字节 = 128 位
    unsigned char outputBuffer[CC_MD5_DIGEST_LENGTH];
    
    // extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封装好的加密方法把str字符串转换成了32位的16进制数列(这个过程不可逆转) 存储到了outputBuffer这个空间中
    CC_MD5(value, (CC_LONG)strlen(value), outputBuffer);
    
    /*
     x表示十六进制,%02X  意思是不足两位将用0补齐,如果多余两位则不影响
     NSLog("%02X", 0x888);  //888
     NSLog("%02X", 0x4); //04
     */
    NSMutableString *outputString = [[NSMutableString alloc] initWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    
    //将16字节的16进制转成32字节的16进制字符串
    for(NSInteger count = 0; count < CC_MD5_DIGEST_LENGTH; count++){
        [outputString appendFormat:@"%02x",outputBuffer[count]];
    }
    
    return outputString;
    

    }

    相关文章

      网友评论

          本文标题:MD5加密

          本文链接:https://www.haomeiwen.com/subject/xepeuxtx.html