二, base64 加密
(1)introduction
base64 是网络上最常见的用于传输 8bit 字节码的编码方式之一, base64 就是一种基于 64 个可打印字符来表示二进制数据的方法.
https://en.wikipedia.org/wiki/Base64
(2)常用 JS base64 加密库
https://github.com/dankogai/js-base64
(3) 原生 JS 已经支持 base64 加密及解密
加密 Windows.btoa(decodeData) 解密 Windows.atob(encodeData)
对于中文进行解密及加密需要先对中文进行转码
encodeURIComponent API 相关可参考 http://www.w3school.com.cn/jsref/jsref_encodeURIComponent.asp
三, md5 加密
(1)introduction
MD5 消息摘要算法 (英语: MD5 Message-Digest Algorithm), 一种被广泛使用的密码散列函数, 可以产生出一个 128 位(16 字节 https://baike.baidu.com/item/字节 ) 的散列值(hash value), 用于确保信息传输完整一致
具体来说文件的 MD5 值就像是这个文件的 "数字指纹". 每个文件的 MD5 值是不同的, 如果任何人对文件做了任何改动, 其 MD5 值 https://baike.baidu.com/item/MD5值 也就是对应的 "数字指纹" 就会发生变化. 比如下载服务器针对一个文件预先提供一个 MD5 值, 用户下载完该文件后, 用我这个算法重新计算下载文件的 MD5 值, 通过比较这两个值是否相同, 就能判断下载的文件是否出错, 或者说下载的文件是否被篡改了.
利用 MD5 算法来进行文件校验的方案被大量应用到软件下载站, 论坛数据库, 系统文件安全等方面.
(2)常用 JS md5 库
https://github.com/blueimp/JavaScript-MD5
四, sha1 加密
(1)introduction
安全哈希算法 (Secure Hash Algorithm) 主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA). 对于长度小于 2^64 位的消息, SHA1 会产生一个 160 位的消息摘要. 当接收到消息的时候, 这个消息摘要可以用来验证数据的完整性. 在传输的过程中, 数据很可能会发生变化, 那么这时候就会产生不同的消息摘要.
(2)常用 JS sha1 库
https://github.com/emn178/js-sha1
来源: http://www.bubuko.com/infodetail-2992248.html