MD5网络使用

作者: iYeso | 来源:发表于2016-07-11 11:16 被阅读101次

    1. MD5

    1.1 什么是MD5

    全称是Message Digest Algorithm 5,译为“消息摘要算法第5版”
    效果:对输入信息生成唯一的128位散列值(32个字符)

    1.2 MD5的特点

    输入两个不同的明文不会得到相同的输出值
    根据输出值,不能得到原始的明文,即其过程不可逆

    1.3 MD5的应用

    由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用
    主要运用在数字签名、文件完整性验证以及口令加密等方面

    MD5解密网站:http://www.cmd5.com

    注册 登录

    2. MD5改进

    现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度
    加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序
    ......
    总之宗旨就是:黑客就算攻破了数据库,也无法解密出正确的明文

    3. 代码实现

    3.1 没有加盐的

    //引入 #import "NSString+Hash.h"
      // 原始数据
        NSString *password = @"zhang1";
        
        // 将原始数据进行MD5 加密.
        password = password.md5String;
        
        NSLog(@"password:%@",password);
        
        NSString *pass1 = @"zhang2";
        
        pass1 = pass1.md5String;
        
        NSLog(@"pass1:%@",pass1);
    

    3.2 加盐的MD5加密

        // 单纯的 MD5 加密能够被破解!
        
        // 更高一级的MD5机密:  MD5 加盐.
        
        // 在用户原始密码的基础上增加一个 "盐值",提高用户密码的复杂度!
        
        NSString *salt = @"~!@#$%^&*greedyDoor";
        
        password = [password stringByAppendingString:salt];
        
        password = password.md5String;
    

    相关文章

      网友评论

        本文标题:MD5网络使用

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