位置: IT常识 - 正文

AES(ECB/CBC) JS实现加密解密(aes-ecb和aes-gcm)

编辑:rootadmin
AES(ECB/CBC) JS实现加密解密

推荐整理分享AES(ECB/CBC) JS实现加密解密(aes-ecb和aes-gcm),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:aes csdn,aes_ecb_encrypt,aes的ecb模式,aes-ecb和aes-gcm,aes代码实现,aes/cbc/nopadding java,aes/cbc/nopadding java,aes/cbc/nopadding java,内容如对您有帮助,希望把文章链接给更多的朋友!

https://github.com/sytelus/CryptoJS

其中 CryptoJS 使用的谷歌开源 https://code.google.com/p/crypto-js/ 

AES(ECB/CBC) JS实现加密解密(aes-ecb和aes-gcm)

https://code.google.com/archive/p/crypto-js/downloads

AES对称加密,比DES安全性高。 AES分为ECB和CBC两种方式。 CBC模式比ECB模式安全。 ECB模式比CBC模式快。

CBC加密解密方式

下载完成后在页面中引入 rollups/aes.js components/pad-zeropadding.js

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>aes</title> <script src="aes.js"></script> <script src="pad-zeropadding.js"></script></head><body><script type="text/javascript"> CBC(); function CBC() { var key = "0000000671595991"; var iv = "tdrdadq59tbss5n7"; var pazzword = '123456'; console.log('pazzword:' + pazzword); // aes 加密 pazzword = encrypt(pazzword, key, iv); console.log('加密后:' + pazzword); if (pazzword.length == 24) { pazzword = decrypt(pazzword, key, iv); console.log('解密后:' + pazzword); } } // 加密 function encrypt(data, key, iv) { //key,iv:16位的字符串 var key1 = CryptoJS.enc.Latin1.parse(key); var iv1 = CryptoJS.enc.Latin1.parse(iv); return CryptoJS.AES.encrypt(data, key1, { iv: iv1, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }).toString(); } // 解密 function decrypt(data, key, iv) { //key,iv:16位的字符串 var key1 = CryptoJS.enc.Latin1.parse(key); var iv1 = CryptoJS.enc.Latin1.parse(iv); var decrypted = CryptoJS.AES.decrypt(data, key1, { iv: iv1, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return decrypted.toString(CryptoJS.enc.Utf8); }</script></body></html>ECB加密解密方式

下载完成后在页面中引入 rollups/aes.js components/mode-ecb.js components/pad-zeropadding.js

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>aes</title> <script src="aes.js"></script> <script src="mode-ecb.js"></script> <script src="pad-zeropadding.js"></script></head><body><script type="text/javascript"> ECB(); function ECB() { var key = "0000000671595991"; var iv = "tdrdadq59tbss5n7"; var pazzword = '123456'; console.log('pazzword:' + pazzword); // aes 加密 pazzword = encrypt(pazzword, key, iv); console.log('加密后:' + pazzword); if (pazzword.length == 24) { pazzword = decrypt(pazzword, key, iv); console.log('解密后:' + pazzword); } } // 加密 function encrypt(data, key, iv) { //key,iv:16位的字符串 var key1 = CryptoJS.enc.Latin1.parse(key); var iv1 = CryptoJS.enc.Latin1.parse(iv); return CryptoJS.AES.encrypt(data, key1, { iv: iv1, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.ZeroPadding }).toString(); } // 解密 function decrypt(data, key, iv) { //key,iv:16位的字符串 var key1 = CryptoJS.enc.Latin1.parse(key); var iv1 = CryptoJS.enc.Latin1.parse(iv); var decrypted = CryptoJS.AES.decrypt(data, key1, { iv: iv1, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.ZeroPadding }); return decrypted.toString(CryptoJS.enc.Utf8); }</script></body></html>Java实现方式

AES对称加密_小百菜的博客-CSDN博客

注意修改代码中的填充方式:

AES/CBC/PKCS5Padding 改为 AES/CBC/NoPaddingAES/ECB/PKCS5Padding 改为 AES/ECB/NoPadding在线测试

在线测试http://tool.chacuo.net/cryptaes

本文链接地址:https://www.jiuchutong.com/zhishi/290829.html 转载请保留说明!

上一篇:被阿尔卑斯山环抱的辛特湖,德国贝希特斯加登 (© Offset by Shutterstock)(阿尔卑斯山环保)

下一篇:uniapp - 编译微信小程序项目的微信授权登录、获取微信手机号登录、最新版微信直接登录、手机与验证码登录的示例源码(适用于 uniapp 微信小程序项目,源代码直接开箱即用)超级详细的代码及注释(uniapp编译原理)

  • 补缴以前年度增值税和罚款、滞纳金的所得税处理
  • 医院要交什么费用
  • 上下班出了事故算不算工伤
  • 研发费用辅助账是什么意思
  • 水电费进项税额怎么抵扣
  • 运输公司加计扣除
  • 可转换债券含义
  • 以前年度损益调整会计分录
  • 福利费的支出要求及标准
  • 金融资产的划分标准以及相关的处理怎么做
  • 影响固定资产折旧的基本因素
  • 新准则 开办费
  • 印刷品生产需要生产许可证吗?
  • 不是公司车可以报销油费吗
  • 电子承兑汇票能转让给个人吗
  • 季度企业所得税计算方法举例
  • 企业的管理人
  • 增值税普通发票税率
  • 金税盘抵减税额怎么算
  • 个体户 季报
  • 计提本月银行借款
  • 工伤医疗费会计分录
  • 劳务外包开票税目由所提供的服务性质来决定
  • 预缴税金跨区域涉税在哪查询
  • 做买卖交税
  • 退税收入要不要交所得税?
  • windows11禁止自动更新
  • win7绝地求生帧数不稳定
  • 月末计提电费
  • 公司产生的劳务费如何计算个人所得税
  • win10桌面没有我的电脑图标怎么办
  • 如何重装系统win7旗舰版
  • php运行js代码
  • macOS Big Sur 11.4 Beta 1(版本号20F5046g)正式发布
  • 高端显卡排名
  • 最贵的苹果4
  • wordpress的文章在数据库里吗?
  • 计提本月应交的所得税费用
  • php实现日历
  • 头歌java入门运算符和表达式答案
  • 购车的进项税怎么抵扣
  • 电票怎么付给别人
  • 视觉机械臂操作视频
  • 服务业加计扣除比例
  • 发放股票股利的账务处理
  • sql有什么
  • 应交税费在借方怎么调平
  • sql server 2008简介
  • sql2019远程连接
  • 发现以前年度错账,不论错账是否涉及损益
  • 应交税费主要有什么税
  • 以非现金偿还债务的情形
  • 定额备用金怎么做分录
  • 年终零余额账户额度和收入相等吗
  • 人民币支付结算系统CIPS
  • 开出去的发票没有进项发票如何核算成本?
  • 实际利率与名义利率的换算
  • 行政事业单位经济责任审计的主要内容
  • 公众责任险作用
  • ubuntu系统无法安装中文
  • ubuntu20.04怎么安装
  • WIN7系统如何禁止特定软件在线升级
  • 系统右键菜单
  • 实现高性能化 两个字表达
  • nodejs读取json文件,并返回列表
  • IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解决方案
  • 老生常谈的道理
  • jQuery+ajax的资源回收处理机制分析
  • css的reset
  • jquery滚动条滚动到指定位置
  • javascript自动化
  • jquery动态添加的元素怎么添加事件
  • Javascript Math ceil()、floor()、round()三个函数的区别
  • python编程完全入门教程
  • js获取当前浏览器版本
  • javascript代码生成器
  • 贵阳网上办税服务厅
  • 生猪屠宰企业报价
  • 出售144平方米以内的房子
  • 科研用地是否缴纳土地使用税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设