当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

MD5加密 - 我的专栏

作者:小梦 来源: 网络 时间: 2024-08-04 阅读:

@implementation NSString (Encryption)

  • (NSString *)md5String{
    //先转为UTF_8编码的字符串
    const char* str = [self UTF8String];
    //设置一个接受字符数组
    //md5加密后是128bit, 16 字节 * 8位/字节 = 128 位
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    /*

    extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封装好的加密方法把str字符串转换成了32位的16进制数列(这个过程不可逆转) 存储到了result这个空间中*/

    CC_MD5(str, strlen(str), result);

    NSMutableString ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH 2];
    /*

    x表示十六进制,%02X  意思是不足两位将用0补齐,如果多余两位则不影响NSLog("%02X", 0x888);  //888NSLog("%02X", 0x4); //04*/

    //将16字节的16进制转成32字节的16进制字符串
    for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {

       [ret appendFormat:@"%02x",result[i]];

    }
    return ret;
    }

热点阅读

网友最爱