加密

2018-05-24  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读