js前端使用AES加解密及在线解密工具验证

简介: js前端使用AES加解密及在线解密工具验证

js 使用AES加解密


  1. 在项目中安装 crypto.js。


npm install crypto-js


2.在项目中新建文件夹 utils

3.新建工具类文件

4.引入crypto-js文件

import CryptoJS from 'crypto-js'

5.初始化16位密钥 及 16位iv(密钥偏移量)

6.解密方法

export const Decrypt = (word) => {
    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
    let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
    let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
    let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
    return decryptedStr.toString();
}

7.加密方法

export const Encrypt = (word) => {
    let srcs = CryptoJS.enc.Utf8.parse(word);
    let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
    return encrypted.ciphertext.toString().toUpperCase();
}

加密 数字 123456789

代码中测试测试:

20210111102339504.png


20210111102448103.png

至于为什么在工具上方选择不是初始化的选项。

主要是因为,代码中明显可以看到

加密使用的是UTF-8,并且模式使用的是CBC

填充padding 则使用的是PKCS7

解密时候可以看到

输出使用的是HEX,模式依旧是CBC 填充是PKCS7 。转换字符为UTF8

故此,验证完毕。

目录
打赏
0
0
0
0
46
分享
相关文章
前端埋点校验工具:数据驱动的最后一道防线
数据埋点是企业决策的关键基础,但常面临覆盖率低、数据不准和故障难排查三大难题。本文深入剖析了这些问题的成因与影响,并提出“三维校验矩阵”解决方案:提升覆盖率至99.8%、降低错误率至0.3%、提速故障定位5倍。同时对比Split.io、Tealium、Sentry、板栗看板等工具优劣,为企业选型提供参考。迈向高质量数据治理,从精准埋点开始。
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
123 8

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问