
AES加密
今天做了Vue項目的加密,主要做了登錄接口,保證登錄的安全性能。
網(wǎng)上關(guān)于 AES 對稱加密的算法介紹挺多的,對這一塊還不是特別理解的小伙伴可自行百度,這里我推薦一篇AES加密算法的詳細(xì)介紹與實現(xiàn),講的還是蠻詳細(xì)的~
要用 AES 算法加密,首先我們要引入 crypto-js ,crypto-js 是一個純 javascript 寫的加密算法類庫 ,可以非常方便地在 javascript 進(jìn)行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,進(jìn)行 AES、DES、Rabbit、RC4、Triple DES 加解密,我們可以采用 npm install crypto-js --save 進(jìn)行下載安裝,也可以直接去 GitHub下載源碼~
其實搞懂了是怎么一回事,做起來還是挺簡單的,因為庫都是現(xiàn)成的,我們只需要會用就好啦,這里我在推薦一篇理解AES加密解密的使用方法,加深大家對 AES 算法的理解~
我的項目中具體的步驟如下:
1、 在package.json里面添加"crypto-js": "^^3.1.9-1"
2、npm install 下載crypto-js
3、引入 import CryptoJS from 'crypto-js'
4、定義兩個方法 ,分別是用于加密和解密,這里我將它放在了 utils 文件夾下
import CryptoJS from 'crypto-js'
/**
* 加密(需要先加載lib/aes/aes.min.js文件)
*/
export const encrypt = (word) => {
var key = CryptoJS.enc.Utf8.parse("46cc793c53dc451b");
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
/**
* 解密
*/
export const decrypt = (word) => {
var key = CryptoJS.enc.Utf8.parse("46cc793c53dc451b");
var decrypt = CryptoJS.AES.decrypt(word, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}