Skip to content

前端加密解密工具crypto-js安装使用示例

191字小于1分钟

2024-09-19

前端加密解密工具crypto-js [npm官网](<https://www.npmjs.com/package/crypto-js)

npm install crypto-js

封装加密工具类

辅助工具,随机秘钥生成器:https://www.lddgo.net/string/randompassword

import CryptoJS from 'docs/web/libs/crypto-js';

// 采用随机秘钥生成
const secretKey = 'Wd{,wjJk8f$,qRnmYsiE'
//加密
export const aesEncrypt = (word: string, keyStr: string) => {
    keyStr = keyStr ? keyStr : secretKey; //判断是否存在ksy,不存在就用定义好的key
    const key = CryptoJS.enc.Utf8.parse(keyStr);
    const srcs = CryptoJS.enc.Utf8.parse(word);
    const encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
    return encrypted.toString();
}
//解密
export const aesDecrypt = (word: string, keyStr: string) => {
    keyStr = keyStr ? keyStr : secretKey;
    const key = CryptoJS.enc.Utf8.parse(keyStr);
    const decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
//密钥(长度必须为16位,或者16位的倍数)
export const secretKey

陕ICP备2021014644号-1