vue md5加密和AES加密的簡單使用
阿新 • • 發佈:2022-05-26
一、md5加密
1.安裝
npm i js-md5 -D
2.main.js中匯入註冊
import md5 from "js-md5"
Vue.prototype.$md5=md5
3.頁面中使用
this.$md5(`需要加密的字串`)
二、AES加密
1.安裝
npm i crypto-js -D
2.新建AES.js檔案
import CryptoJS from "crypto-js"; export default { // 加密 // encrypt(word, keyStr) { // keyStr = keyStr ? keyStr : "預設金鑰";// let key = CryptoJS.enc.Utf8.parse(keyStr); // let srcs = CryptoJS.enc.Utf8.parse(word); // let encrypted = CryptoJS.AES.encrypt(srcs, key, { // mode: CryptoJS.mode.ECB, // padding: CryptoJS.pad.Pkcs7 // }); // return encrypted.toString(); // }, // // 解密 // decrypt(word, keyStr) {// keyStr = keyStr ? keyStr : "預設金鑰"; // var key = CryptoJS.enc.Utf8.parse(keyStr); // var decrypt = CryptoJS.AES.decrypt(word, key, { // mode: CryptoJS.mode.ECB, // padding: CryptoJS.pad.Pkcs7 // }); // return CryptoJS.enc.Utf8.stringify(decrypt).toString(); // } encrypt(word, key) { let keys= CryptoJS.enc.Utf8.parse(key); let str = CryptoJS.enc.Utf8.parse(word); let encrypted = CryptoJS.AES.encrypt(str, keys, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, }); return encrypted.ciphertext.toString().toUpperCase(); }, decrypt(word, key) { let keys = CryptoJS.enc.Utf8.parse(key); let decrypt = CryptoJS.AES.decrypt( CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse(word)), keys, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, } ); return decrypt.toString(CryptoJS.enc.Utf8); } };
3.頁面中匯入使用
import AES from "@/utils/AES.js"; // 金鑰 let keyword = '金鑰'
// 加密 let encrypts = AES.encrypt(JSON.stringify('需要加密的物件'),keyword); // 解密 let decrypts = JSON.parse(AES.decrypt(encrypts,keyword))