使用AES加密,首先要了解AES加密方法
注意:
加密的mode:ECB、CBC、CFB、OFB、CTR (加密模式不同,加密的方法也不同)
加密的padding 不會影響加密結果
本人使用的框架 React 進行的SAE前端加密(不管是React,Vue,還是引入的JQuery庫一樣)
1.使用crypto-js JavaScript加密標準庫。github地址(https://github.com/brix/crypto-js)
2.在項目中使用
mode:ECB 這是我的這案例mode
新建一個文件,把加密解密進行封裝,(我這個封裝方法是React中的寫法)
const CryptoJS = require('crypto-js'); //引用AES源碼js
const key = CryptoJS.enc.Utf8.parse("http://cenozoncn"); //十六位十六進制數作爲密鑰
const AES ={}
//解密方法
AES.Decrypt = function Decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("http://cenozoncn");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
// 加密方法
AES.AEESjs = function Encrypt(word) {
var key = CryptoJS.enc.Utf8.parse("http://cenozoncn");
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 default AES