本文主要是介绍CryptoJS 加密算法类库MD5、Base64(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
CryptoJS 介绍
安装依赖包
模板中导入依赖包
MD5() 加密
Base64.stringify() 加密
Base64.parse() 解密
MD5 和 Base64 区别
CryptoJS 介绍
- crypto-js 是谷歌开发的一个纯 JavaScript 加密算法类库
- 常用加密方式有 MD5、AES
- 使用时可以整体引入,也可以单独引用某一文件
- iv 是密钥偏移量,一般接口返回或前后端协定一致
- key(密钥) 和 iv(偏移量) 都可以更换,需要保证加解密 key 和 iv 保持一致
- 用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据
安装依赖包
npm install -S crypto-js
模板中导入依赖包
import CryptoJS from 'crypto-js'
MD5() 加密
const MD5 = CryptoJS.MD5('A012345')
Base64.stringify() 加密
可以把 MD5 加密后的密钥,再进行一次加密操作
const Base64 = CryptoJS.enc.Base64.stringify(MD5)
也可以加密 Utf8 解析后的字符,加密 Utf8 解析后的字符有 2 种方式:
- 方式一
const Utf8 = CryptoJS.enc.Utf8.parse('A012345')
const Base64 = CryptoJS.enc.Base64.stringify(Utf8)
- 方式二
const Base64 = CryptoJS.enc.Utf8.parse('A012345').toString(CryptoJS.enc.Base64)
Base64.parse() 解密
只能解 Utf8 字符加密后的密钥,不能解 MD5 密钥
// Base64 待解密密钥
const decrypt = CryptoJS.enc.Base64.parse(Base64).toString(CryptoJS.enc.Utf8)
MD5 和 Base64 区别
MD5
- 是一种散列表(哈希表)计算方式
- 不可逆性
- 任意长度明文字符串,加密后得到密文字符串长度是固定的
Base64
- 实质是一种编码格式,如同 UTF-8
- 是一种用 64 个字符来表示任意二进制数据方法
- 可逆性
- 可以将图片等二进制文件转换为文本文件
- 可以把非 ASCII 字符数据转换成 ASCII 字符,避免不可见字符
CryptoJS 加密算法类库(二)_taoqidejingling的博客-CSDN博客AES 加解密都要转换成字符串https://blog.csdn.net/taoqidejingling/article/details/122608930
CryptoJS 加密算法类库自定义加解密方法(三)_taoqidejingling的博客-CSDN博客CryptoJS 加密算法类库自定义加解密方法https://blog.csdn.net/taoqidejingling/article/details/122628311
这篇关于CryptoJS 加密算法类库MD5、Base64(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!