1.编码
-
escape : 编码(U码)
unescape : 解码 -
encodeURIComponent : URL编码
encodeURIComponent("字符串")
decodeURIComponent : URL解码 -
Base64/btoa/atob
所有的数据都能被编码为只用65个字符就能表示的文本
65字符:A-Z a-z 0-9 + / =
如果出现""为转义符;
btoa:网页B64编码;
atob:网页B64解码(只能用浏览器,调试工具不可用,如需调试则附加Base64的JS代码);
2.单向散列函数(消息摘要算法)
- 加密后的密文定长
- 明文不一样,散列后结果一定不一样
- 不可逆
- 一般用于签名 sign
- MD5 32位 16进制文本0-f
- SHA1 40位 16进制文本
- SHA256
- SHA512
- HmacMD5 参数带密钥
CypotJS.HmacMD5("222222","123")
- HmacSHA1
- HmacSHA256
3.加密
加密和解密的过程是可逆的
-
对称加密算法
加密/解密使用相同的密钥
DES 数据加密标准 3DES
AES 高级加密标准
AES 共有ECB,CBC,CFB,OFB,CTR五种模式 -
非对称加密算法
RSA
使用公钥加密,使用私钥解密
公钥是公开的,私钥保密
加密处理安全,但是性能极差,单次加密长度有限制 -
折中办法 : AES 加密数据 随机生成秘钥 RSA对密钥加密