<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 加密解密相关推荐

  1. java nodejs aes_Java与Node.js利用AES加密解密出相同结果的方法示例

    前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下 ...

  2. vue中使用js进行AES加密及解密(含密钥和iv偏移量)、以及HMAC-SHA256加密方法对于签名加密的使用

    一.AES加密解密 1.下载安装 npm install crypto-js --save-dev 2.在utils文件夹下创建encryp.js文件进行aes加密解密工具类方法的封装 import ...

  3. js加密-AES加密解密

    js加密-AES加密解密 // AES加密AESencrypt(word) {let srcs = CryptoJS.enc.Utf8.parse(word);let encrypted = Cryp ...

  4. Javascript实现AES加密解密(ECB/CBC)

    环境配置 js文件https://code.google.com/archive/p/crypto-js/downloads 在线AES加密解密地址http://tool.chacuo.net/cry ...

  5. aes加密算法python语言实现_C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]...

    原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...

  6. AES加密解密(java、web、app)

    AES加密解密(java.web.app) AES加密解密(java.web.app) java端 Web端 ios端 AES加密解密(java.web.app) java端 package com. ...

  7. JS前端接口加密/解密

    CryptoJS (crypto.js) 为 JavaScript 提供加密和解密算法.目前已支持的算法包括 crypto, Hash, MD5, SHA1, SHA-1, SHA256, SHA-2 ...

  8. java php aes加密解密_php aes 加密解密可与java对接

    php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...

  9. android、ios、php之间AES加密解密

    使用原因: 因为在项目中,需要在与客户端(IOS,Android)交互的时候,保存一些私有信息,不被别人看到,所以,使用了比较流行的可以反向加解密的AES. PHP 源码 <?php$aes = ...

最新文章

  1. js递归函数使用介绍
  2. mysql 分组求和_MySql基础语法
  3. bootstrap 起步
  4. ASP.NET Core Cookie SameSite
  5. CSS之Box-sizing
  6. 企业实战(Jenkins+GitLab+SonarQube)_01_Jenkins下载
  7. 下来安成功 打开一直白屏_苹果手机白屏怎么解决啊,苹果手机白屏了怎么修复...
  8. 【云快讯】《微软Sharepoint 2016 Beta版发布,强化混合云搜索功能》
  9. python是什么 自学-你是如何自学 Python 的?
  10. 【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
  11. 函数 strcmp_【函数分享】每日PHP函数分享(2020630)
  12. matlab求带参数二重定积分,matlab二重定积分
  13. 微信开发——加密认证
  14. 触摸屏中应用的电容式触摸芯片
  15. matlab径向基网络,MATLAB——径向基网络拟合曲线和分类
  16. redux及react-redux
  17. Unity3D笔记十八 GL图像库
  18. 【MaixPY 教程】用mixly玩转k210——条形码、二维码、AprilTag识别
  19. 致力共赢、共助产业升级新发展——回看中国首届泛工业品展
  20. [计算机网络]-TCP-概述

热门文章

  1. Siemens HEEDS MDO 2021.1.1 x64
  2. 项目资金预算表编制说明
  3. Js完美验证15/18身份证
  4. web前端-JavaScript中的数组详解
  5. 归并排序算法原理及实现
  6. Java键盘输入的几种方式,大爱Scanner
  7. jquery的validate效验在button点击提交时submitHandler验证两次
  8. 铝合金三扇推拉窗的计算机方法,13种铝合金门窗下料尺寸及计算公式收藏备用!...
  9. html600像素宽如何设置,如何设置图片打印尺寸,长与宽指定大小(CM)?
  10. 闪送你的圣诞礼给你的爱从不等待