AES算法

简介: AES算法

安装

npm i crypto-js --save

使用方式

import CryptoJS from 'crypto-js'

const crypt_key = 'abcdefgabcdefg12'
const crypt_iv = 'abcdefgabcdefg12'

// 加密
export function encrypt(data) {
  // 将key解析为字节
  const aes_key = CryptoJS.enc.Utf8.parse(crypt_key)
  // 将iv解析为字节
  const new_iv = CryptoJS.enc.Utf8.parse(crypt_iv)
  // AES加密 CBC模式 ZeroPadding
  const encrypted = CryptoJS.AES.encrypt(data, aes_key, {
    iv: new_iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding
  })
  // 返回字符串
  return encrypted.toString()
}

// 解密
export function decrypt(data) {
  const aes_key = CryptoJS.enc.Utf8.parse(crypt_key)
  const aes_iv = CryptoJS.enc.Utf8.parse(crypt_iv)
  // 将数据编码成Base64格式
  const baseResult = CryptoJS.enc.Base64.parse(data)
  const ciphertext = CryptoJS.enc.Base64.stringify(baseResult)
  // AES解密 CBC模式 ZeroPadding
  const decryptResult = CryptoJS.AES.decrypt(ciphertext, aes_key, {
    iv: aes_iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding
  })
  // 返回字符串
  const resData = decryptResult.toString(CryptoJS.enc.Utf8).toString()
  return resData
}

测试

const ps = JSON.stringify({ poolareaNo: '4401' })
const encodePs = encrypt(ps)
const decodePs = decrypt(encodePs)
console.log('encodePs', encodePs)
// 输出:AA2uUXaD4p/s6HcPbX3CGw==
console.log('decodePs', decodePs)
// 输出:123456
相关文章
|
7月前
|
算法 Java
Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现
Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现
666 0
|
1月前
|
存储 安全 算法
AES算法
【10月更文挑战第30天】AES算法
80 2
|
2月前
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
128 0
|
4月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
198 1
|
5月前
|
算法 安全 搜索推荐
AES(Advanced Encryption Standard)是一种广泛使用的对称密钥加密算法,由美国国家标准技术研究所(NIST)制定。
AES(Advanced Encryption Standard)是一种广泛使用的对称密钥加密算法,由美国国家标准技术研究所(NIST)制定。
|
5月前
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
6月前
|
算法 安全 Java
AES加解密算法:原理、应用与安全性解析
AES加解密算法:原理、应用与安全性解析
|
7月前
|
算法 安全 数据安全/隐私保护
AES算法逆向实战--某思路
本文是关于AES加密算法的逆向分析实战。通过跟栈方式找出加密位置,发现在`jslencode`函数中完成账号和密码加密。使用CryptoJS库,示例代码展示了如何用AES进行加密,其中`397151C04723421F`作为key,加密手机号和密码,并打印结果。
130 1
|
7月前
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
377 2
|
15天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。