iosMD5加密和base64加密

因为今天强哥说要用到加密,所以我总结了一下iOS系统的加密方法

base64加密

    NSString *str=@"together碳化";
    
    NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
    
    NSLog(@"%@",[data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]);

这是系统的base64加密,需要先将字符串转换成data类型,然后再进行base64编码,但是后面的option我不知道是神马意思,一共有四个值可以选,但是我不管选哪一项,输出结果都是一样的。

MD5加密

-(NSString *)md5:(NSString *)str{
    const char *cStr=[str UTF8String];
    unsigned char result[16];
    CC_MD5(cStr, (int)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]];
}

这个是抄网上的代码,CC_MD5是iOS自己的方法,其中%02x是后面的result的占位符,02表示不足不足两位前面补零,x表示16进制输出

其中MD5加密之后会产生128bit的字符串,然后转换成16进制的字符串,就是32个16进制的数字,计算机中最小的存储单位是字节,1字节是8位,对应一个char类型,可以得到16个char

原文地址:https://www.cnblogs.com/chebaodaren/p/4595616.html