AES 加密解密 CryptoJS + php 方案
当前业务需求需要针对报文做简单加密。最终选择AES,php 端AES的实现大体就是mcrypt 或者 openssl。这里选择openssl,个人感觉openssl实现起来代码更加简洁一点。
直接上代码先
感谢 symfony/webpack-encore-bundle 一如既往强大的symfony提供的 encore,直接使用webpack很方便集成Crypto-JS
// 这里需要自行npm安装 crypto-js
import CryptoJS from 'crypto-js';
let key = '654mca0l38b489d9f306a5b8e105334b',
iv = 'c5defg0045222c52';
* @param string work 待加密报文
* @return string
export function encrypt (word) {
let encrypt = CryptoJS.AES.encrypt(word,CryptoJS.enc.Utf8.parse(key),{
iv:CryptoJS.enc.Utf8.parse(iv),
mode:CryptoJS.mode.CBC,
padding:CryptoJS.pad.Pkcs7
return encrypt.toString();
* @param string work 待解密报文
* @return string
export function decrypt (word) {
let decrypted = CryptoJS.AES.decrypt(word,CryptoJS.enc.Utf8.parse(key),{
iv:CryptoJS.enc.Utf8.parse(iv),
mode:CryptoJS.mode.CBC,
padding:CryptoJS.pad.Pkcs7
return decrypted.toString(CryptoJS.enc.Utf8)