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
相关文章
|
8月前
|
算法 安全 数据安全/隐私保护
基于AES的遥感图像加密算法matlab仿真
本程序基于MATLAB 2022a实现,采用AES算法对遥感图像进行加密与解密。主要步骤包括:将彩色图像灰度化并重置大小为256×256像素,通过AES的字节替换、行移位、列混合及轮密钥加等操作完成加密,随后进行解密并验证图像质量(如PSNR值)。实验结果展示了原图、加密图和解密图,分析了图像直方图、相关性及熵的变化,确保加密安全性与解密后图像质量。该方法适用于保护遥感图像中的敏感信息,在军事、环境监测等领域具有重要应用价值。
339 35
|
6月前
|
算法 安全 数据安全/隐私保护
基于AES的图像加解密算法matlab仿真,带GUI界面
本程序基于AES算法实现图像的加解密功能,并提供MATLAB GUI界面操作,支持加密与解密。运行环境为MATLAB 2022A,测试结果无水印。核心代码通过按钮回调函数完成AES加密与解密流程,包括字节替换、行移位、列混淆及密钥加等步骤。解密过程为加密逆向操作,确保数据安全性与完整性。完整程序结合128位块加密与可选密钥长度,适用于图像信息安全场景。
|
存储 安全 算法
AES算法
【10月更文挑战第30天】AES算法
1460 2
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
723 0
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
561 1
|
算法 安全 搜索推荐
AES(Advanced Encryption Standard)是一种广泛使用的对称密钥加密算法,由美国国家标准技术研究所(NIST)制定。
AES(Advanced Encryption Standard)是一种广泛使用的对称密钥加密算法,由美国国家标准技术研究所(NIST)制定。
|
算法 安全 数据安全/隐私保护
AES算法逆向实战--某思路
本文是关于AES加密算法的逆向分析实战。通过跟栈方式找出加密位置,发现在`jslencode`函数中完成账号和密码加密。使用CryptoJS库,示例代码展示了如何用AES进行加密,其中`397151C04723421F`作为key,加密手机号和密码,并打印结果。
403 1
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
1209 2
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
算法 安全 Java
AES加解密算法:原理、应用与安全性解析
AES加解密算法:原理、应用与安全性解析

热门文章

最新文章