位置: 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编译原理)

  • 房地产印章图片
  • 违约金的专票能抵扣吗
  • 企业注销,账面余额怎样调账
  • 季度的工会经费计税依据
  • 应付票据和应付账款有什么区别
  • 预收款转营业外收入条件
  • 工会经费的减免申请
  • 货物发出未开票不确认收入
  • 公司因担保产生损失
  • 补计提上一年度费用
  • 应入固定资产的已做费用,如何调账
  • 公司合并后业务怎么办
  • 建筑公司挂靠项目账务怎么做?
  • 农副产品税率及范围
  • 房地产企业所得税预缴
  • 建筑企业员工培训
  • 境外施工
  • 机票的抵扣率是多少
  • 地方教育费附加计入什么科目
  • 试营业期间的费用算不算开办费?
  • 银行余额不平怎么快速找原因
  • 银行承兑汇票到期后多长时间失效
  • 打印的行程单可以删除吗
  • 委托贷款利息收入增值税
  • 工资扣税标准计算方法
  • 全资的子公司
  • 工会经费缴纳比例是哪里规定的
  • 王者荣耀电脑版操作
  • win11开始菜单怎么设置成左下角
  • 转让无形资产的所有权计入什么科目
  • 电脑非法关机后开机进不了系统
  • win7 excel
  • 教学用具属于什么项目类别
  • 苹果15手机价格和图片颜色
  • 交房产税要带身份证嘛
  • Linux下使用quota命令管理磁盘空间的实例教程
  • 企业常用的消毒措施有
  • vue 滚动条往下滑
  • thinkphp import
  • thinkphp隐藏index.php
  • 手把手教你如何套路男神
  • easyui表格分页
  • 销售固定资产是属于销售货物吗?
  • 结转增值税的账务处理
  • 购进小汽车自用为什么可以抵扣进项税
  • python tkinter ttk
  • python ide包括哪些
  • 金税盘发票报送失败怎么办
  • 承兑汇票大回头是啥意思
  • 基本工资是包括哪些内容
  • 税金及附加与应交税金的关系
  • 茶叶企业所得税减免
  • 一般纳税人开普票和专票有什么区别
  • 跆拳道馆薪酬详细方案
  • 税控服务费减免月底怎样结转
  • 企业购买商品房作为职工宿舍
  • 车辆处置缴纳增值税税率
  • 银行转存款怎么办
  • 日用品办公用品的经营范围
  • 无法确定退货率的处理
  • 免税蔬菜税额用什么表示
  • 其他债权投资减值准备是什么科目
  • 应付账款和预收账款是负债吗
  • 未分配利润是净利润吗
  • centos还原
  • windows无法启动怎么解决
  • msoobe.exe是什么
  • Win7注册表怎么恢复
  • android opencl
  • Linux shell实现HTTP服务示例代码
  • js链式编程的原理
  • 使用灭火器人要站在上风口还是下风口
  • unity study
  • shell脚本计算执行时间
  • Jquery针对tr td的一些实用操作方法(必看篇)
  • python中csv怎么用
  • js密码验证正则表达式
  • jQuery基于$.ajax设置移动端click超时处理方法
  • 说几条javascript的基本规范
  • todesk点不了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设