加密

作者: 夜雨聲煩_ | 来源:发表于2018-05-24 15:35 被阅读0次

    一.base64编码

    原理:

    原字符转换为 ASCII 码后,再转成二进制,每六位截取经过 Base64编码得到最终值,如下图。


    转换过程.jpg

    不能整除用0补位用=结尾,不详述。

    用处

    由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
    在项目中,将报文进行压缩、加密后,最后一步必然是使用base64编码,因为base64编码的字符串,更适合不同平台、不同语言的传输。(例如,对其在进行UTF-8等其他编码,不会改变结果)。

    并非加密

    Base64 是一种拥有固定规则的编码方式,完全可逆,因此并不能用来作为保证信息安全的加密方式。

    实现代码

    使用 GitHub 上分类:NSData+Base64NSString+Base64

    二.MD5加密

    原理:

    对输入信息不论产孤单生成唯一的128位散列值(32个字符)。
    具有以下特点:

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

    注册过程中,使用 MD5 对密码进行加密,传入服务器,服务器保存加密后的密码。(也可能在注册过程中不使用加密,服务器保存明文密码,服务器进行 MD5 加密同时保存加密后密码)
    登录过程中,使用 MD5 对密码进行加密,服务器比对加密后的密码是否一致进行验证登录。
    这样,即使拦截到加密后的密码也无法逆向得到原密码,而且根据加密后的密码进行登录(会多做一次加密影响结果)也无法登录成功。

    加盐

    MD5 加密不再完全安全,可能会被破解,在此基础上,可以进行加盐。
    即:在原字符串的基础上在固定位置插入自定义字符串(公司固定)后在进行 MD5 加密。

    实现代码

    使用 GitHub 上分类:NSString+Hash

    相关文章

      网友评论

          本文标题:加密

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