
文章目录一、base64二、md5只能加密不能解密三、sha256 不可解四、AEScrypto-js 库实现一、base64加密encodeBase64.encode()解密decodeBase64.decode()letBase64require(js-base64).Base64二、md5只能加密不能解密使用场景用户密码存储、文件校验使用npm安装npm install crypto-js --save/npm install js-md5哪个组件使用就引入定义方法然后调用importmd5fromjs-md5;import{MD5}fromcrypto-js;//使用md5(text)MD5(text).toString()//crypto-js 返回的是 WordArray 对象需调用 .toString() 转为字符串 三、sha256 不可解使用npm安装npm install js-sha256引入及使用importsha256fromjs-sha256;console.log(sha256(hello world));// 输出加密后的字符串四、AEScrypto-js 库实现使用npm安装封装加密/解密工具函数npminstallcrypto-js# 或使用 yarnyarnaddcrypto-js创建文件如 utils/aes.js统一管理加解密逻辑importCryptoJSfromcrypto-jsconstSECRET_KEYyour-32-byte-secret-key-1234567890// 密钥需16/24/32字节constIV1234567890123456// CBC 模式需 16 字节 IVexportfunctionencrypt(plaintext){constencryptedCryptoJS.AES.encrypt(plaintext,CryptoJS.enc.Utf8.parse(SECRET_KEY),{iv:CryptoJS.enc.Utf8.parse(IV),mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7})returnencrypted.toString()}exportfunctiondecrypt(ciphertext){constdecryptedCryptoJS.AES.decrypt(ciphertext,CryptoJS.enc.Utf8.parse(SECRET_KEY),{iv:CryptoJS.enc.Utf8.parse(IV),mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7})returndecrypted.toString(CryptoJS.enc.Utf8)}//使用import{encrypt,decrypt}from/utils/aesconsole.log(encrypt(text),decrypt(text))