使用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