js 使用AES 加密解密
<script type="text/javascript"> // 首先准备一份明文和秘钥:var plaintText = '123456789'; // 明文var keyStr = '666666666'; // 一般key为一个字符串 // 参看官网文档,AES方法是支持AES-128、AES-192和AES-256的,加密过程中使用哪种加密方式取决于传入key的类型,否则就会按照AES-256的方式加密。 // 由于Java就是按照128bit给的,但是由于是一个字符串,需要先在前端将其转为128bit的才行。 // 字符串类型的key用之前需要用uft8先parse一下才能用var key = CryptoJS.enc.Utf8.parse(keyStr); // 加密var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); // 由于CryptoJS生成的密文是一个对象,如果直接将其转为字符串是一个Base64编码过的,在encryptedData.ciphertext上的属性转为字符串才是后端需要的格式。var encryptedBase64Str = encryptedData.toString(); // 输出:console.log(encryptedBase64Str); // 需要读取encryptedData上的ciphertext.toString()才能拿到跟Java一样的密文var encryptedStr = encryptedData.ciphertext.toString(); // 输出:console.log(encryptedStr); // 由于加密后的密文为128位的字符串,那么解密时,需要将其转为Base64编码的格式。 // 拿到字符串类型的密文需要先将其用Hex方法parse一下var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedStr); // 将密文转为Base64的字符串var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr); // 使用转为Base64编码后的字符串即可传入CryptoJS.AES.decrypt方法中进行解密操作。 // 解密var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});// 解密后,需要按照Utf8的方式将明文转位字符串var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);console.log(decryptedStr); </script>
js 使用AES 加密解密相关推荐
- java nodejs aes_Java与Node.js利用AES加密解密出相同结果的方法示例
前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下 ...
- vue中使用js进行AES加密及解密(含密钥和iv偏移量)、以及HMAC-SHA256加密方法对于签名加密的使用
一.AES加密解密 1.下载安装 npm install crypto-js --save-dev 2.在utils文件夹下创建encryp.js文件进行aes加密解密工具类方法的封装 import ...
- js加密-AES加密解密
js加密-AES加密解密 // AES加密AESencrypt(word) {let srcs = CryptoJS.enc.Utf8.parse(word);let encrypted = Cryp ...
- Javascript实现AES加密解密(ECB/CBC)
环境配置 js文件https://code.google.com/archive/p/crypto-js/downloads 在线AES加密解密地址http://tool.chacuo.net/cry ...
- aes加密算法python语言实现_C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]...
原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...
- AES加密解密(java、web、app)
AES加密解密(java.web.app) AES加密解密(java.web.app) java端 Web端 ios端 AES加密解密(java.web.app) java端 package com. ...
- JS前端接口加密/解密
CryptoJS (crypto.js) 为 JavaScript 提供加密和解密算法.目前已支持的算法包括 crypto, Hash, MD5, SHA1, SHA-1, SHA256, SHA-2 ...
- java php aes加密解密_php aes 加密解密可与java对接
php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...
- android、ios、php之间AES加密解密
使用原因: 因为在项目中,需要在与客户端(IOS,Android)交互的时候,保存一些私有信息,不被别人看到,所以,使用了比较流行的可以反向加解密的AES. PHP 源码 <?php$aes = ...
最新文章
- js递归函数使用介绍
- mysql 分组求和_MySql基础语法
- bootstrap 起步
- ASP.NET Core Cookie SameSite
- CSS之Box-sizing
- 企业实战(Jenkins+GitLab+SonarQube)_01_Jenkins下载
- 下来安成功 打开一直白屏_苹果手机白屏怎么解决啊,苹果手机白屏了怎么修复...
- 【云快讯】《微软Sharepoint 2016 Beta版发布,强化混合云搜索功能》
- python是什么 自学-你是如何自学 Python 的?
- 【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- 函数 strcmp_【函数分享】每日PHP函数分享(2020630)
- matlab求带参数二重定积分,matlab二重定积分
- 微信开发——加密认证
- 触摸屏中应用的电容式触摸芯片
- matlab径向基网络,MATLAB——径向基网络拟合曲线和分类
- redux及react-redux
- Unity3D笔记十八 GL图像库
- 【MaixPY 教程】用mixly玩转k210——条形码、二维码、AprilTag识别
- 致力共赢、共助产业升级新发展——回看中国首届泛工业品展
- [计算机网络]-TCP-概述
热门文章
- Siemens HEEDS MDO 2021.1.1 x64
- 项目资金预算表编制说明
- Js完美验证15/18身份证
- web前端-JavaScript中的数组详解
- 归并排序算法原理及实现
- Java键盘输入的几种方式,大爱Scanner
- jquery的validate效验在button点击提交时submitHandler验证两次
- 铝合金三扇推拉窗的计算机方法,13种铝合金门窗下料尺寸及计算公式收藏备用!...
- html600像素宽如何设置,如何设置图片打印尺寸,长与宽指定大小(CM)?
- 闪送你的圣诞礼给你的爱从不等待