關於MD5加密

weixin_34019929發表於2016-08-18
//16位MD5加密方式
-(NSString *)md5:(NSString *)str {
    const char *cStr = [str UTF8String];//轉換成utf-8
    unsigned char result[16];//開闢一個16位元組(128位:md5加密出來就是128位/bit)的空間(一個位元組=8字位=8個二進位制數)
    CC_MD5( cStr, strlen(cStr), result);
    /*
     extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封裝好的加密方法
     把cStr字串轉換成了32位的16進位制數列(這個過程不可逆轉) 儲存到了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]
            ];
    /*
     x表示十六進位制,%02X  意思是不足兩位將用0補齊,如果多餘兩位則不影響
     NSLog("%02X", 0x888);  //888
     NSLog("%02X", 0x4); //04
     */
}

然後只需要呼叫此方法就可以了

相關文章