MD5加密

作者: 一笔春秋 | 来源:发表于2019-06-28 17:09 被阅读0次
  • MD5
+(NSString*)bigDataMd5:(NSData*)fileData
{
    CC_MD5_CTX md5;
    
    CC_MD5_Init(&md5);
    
    CC_MD5_Update(&md5, [fileData bytes], (CC_LONG)[fileData length]);
    unsigned char digest[CC_MD5_DIGEST_LENGTH];
    CC_MD5_Final(digest, &md5);
    
    NSMutableString *saveResult = [NSMutableString string];
    // 5.从result 数组中获取加密结果并放到 saveResult中
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
        [saveResult appendFormat:@"%02x", digest[i]];
    }
    // x表示十六进制,%02X  意思是不足两位将用0补齐,如果多余两位则不影响
    return saveResult;
}
  • base64 + MD5
//base64+md5
+ (NSString *)dataToMD5:(NSData *)inputData {
    // 1.首先将字符串转换成UTF-8编码, 因为MD5加密是基于C语言的,所以要先把字符串转化成C语言的字符串
    const char *fooData = [[inputData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength] UTF8String];
    // 2.然后创建一个字符串数组,接收MD5的值
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    // 3.计算MD5的值, 这是官方封装好的加密方法:把我们输入的字符串转换成16进制的32位数,然后存储到result中
    CC_MD5(fooData, (CC_LONG)strlen(fooData), result);
    /*
     第一个参数:要加密的字符串
     第二个参数: 获取要加密字符串的长度
     第三个参数: 接收结果的数组
     */
    // 4.创建一个字符串保存加密结果
    NSMutableString *saveResult = [NSMutableString string];
    // 5.从result 数组中获取加密结果并放到 saveResult中
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
        [saveResult appendFormat:@"%02x", result[i]];
    }
    // x表示十六进制,%02X  意思是不足两位将用0补齐,如果多余两位则不影响
    return saveResult;
    /*
     这里返回的是32位的加密字符串,有时我们需要的是16位的加密字符串,其实仔细观察即可发现,16位的加密字符串就是这个字符串中见的部分。我们只需要截取字符串即可([saveResult substringWithRange:NSMakeRange(7, 16)])
     */
}

相关文章

  • iOS常见信息加密方式总结

    目录 MD5加密HMAC加密base64加密对称加密RSA加密 - 非对称加密 一.MD5加密 MD5加密是最常用...

  • iOS 数据加密

    iOS 常用加密方式算法包括MD5加密、AES加密、BASE64加密 MD5加密 MD5:全称是Message D...

  • iOS加密

    iOS代码常见的加密方式包括MD5加密、AES加密、BASE64加密,RSA加密。 MD5加密 MD5是不可逆的只...

  • Java加密

    MD5加密: RSA加密: CBC加密:

  • linux进行md5加密

    linux进行md5加密 openssl做MD5加密 md5加密 交互式输入 管道标准输入处理 对文件处理 md5...

  • 数据加密

    单向散列:哈希加密。 PHP MD5函数 加密长度是64/32位的。MD5("这里是加密串")MD5($POST...

  • iOS开发之系统MD5加密

    常见的加密有Base64加密和MD5加密。Base64加密是可逆的,MD5加密目前来说一般是不可逆的。MD5生成的...

  • Java 常用加密算法(一)---单向加密算法(MD5/SHA)

    Java 常用加密算法(一)---单向加密算法(MD5/SHA) MD5加密MD5以512位分组来处理输入的信息,...

  • md5加密

    md5加密 生成的加密串

  • Java 登录模块设计

    登录流程 前端登录传输用户名和md5加密后的密码 后端对密码在进行md5加密,或者使用md5加密的密码 + id ...

网友评论

      本文标题:MD5加密

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