crytojs加密 java解密,使用CryptoJS在Javascript中加密并在Java中解密
我试图使用谷歌的
https://code.google.com/p/crypto-js/#AES加密JavaScript,就像它的例子一样.问题是,我试图用Java解密它的结果是不同的.我可以看到的唯一区别是填充(CryptoJs使用Pkcs7而java使用Pkcs5),读了一下我意识到Pkcs7和Pkcs5基本相同.
以下是我在Javascript中进行加密的代码示例:
var crypto = require('./aes.js');
var login = 'ABCD';
var key = crypto.CryptoJS.enc.Hex.parse('0123456789012345');
var ive = crypto.CryptoJS.enc.Hex.parse('0123456789012345');
var encrypted = crypto.CryptoJS.AES.encrypt(login, key, {iv: ive});
console.log('encrypted msg = ' + encrypted)
这是我用Java解密它的代码:
public String decrypt(byte[] cipherText) throws Exception {
String psk = "0123456789012345";
String iv = "0123456789012345";
try {
String encryptionKey = psk;
final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding", "SunJCE");
final SecretKeySpec key = new SecretKeySpec(encryptionKey.getBytes(UTF8), "AES");
cipher.init(Cipher.DECRYPT_MODE, key, new IvParameterSpec(iv.getBytes(UTF8)));
return new String(cipher.doFinal(cipherText), UTF8);
} catch (BadPaddingException | IllegalBlockSizeException | UnsupportedEncodingException | InvalidAlgorithmParameterException | InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | NoSuchProviderException ex) {
LOG.log(Level.SEVERE, ex.getMessage(), ex);
throw new Exception(ex.getMessage());
}
}
你知道它为什么会那么糟糕吗?它是一个不同的算法还是我在其他地方失败?
crytojs加密 java解密,使用CryptoJS在Javascript中加密并在Java中解密相关推荐
- java filereader blob_如何从javascript发送音频blob到java spring服务...
我正在使用RecordRTC在我的javascript客户端录制一些音频数据.我想通过WebSockets将这个音频数据发送到我的Spring RestController. 录制后我在我的javas ...
- JavaScript实现加密与解密详解
这篇文章介绍了Java脚本语言实现加密与解密详解的方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 目前原生射流研究-貌似并没有提供讯息摘要5计算相 ...
- 客户端JavaScript加密数据,服务端Java解密数据
原文:http://blog.csdn.net/peterwanghao/article/details/43303807 在普通的页面提交时,如果没有使用SSL,提交的数据将使用纯文本的方式发送.如 ...
- Vue前端和Java后端 联调使用AES 前后端加密解密
Vue前端和Java后端 联调使用AES 前后端加密解密 最近在项目中需要针对重要数据进行加密传输,在网上找了一大推加密方式 最终采用AES 加密 Java端 package com.zk.web.u ...
- java中3des cbc,js與java通用的3DES(ECB,CBC)+Base64加密編碼,解碼解密
J S端加密過程: key的處理: 通過創建指定的key,key必須是16位/24位/32位其中一種,但是常用的3DES加密的key為24位,下面使用的就是24位,key的長度可以隨意指定,在轉換ke ...
- java和c 的rsa加密算法_RSA算法签名技术Java与C++统一(加密解密结果一样)
RSA算法签名技术Java与C++统一 (加密解密结果一样) 源代码下载地址:http://www.doczj.com/doc/64f44a94a0116c175f0e484d.html/produc ...
- java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法
java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...
- js怎么实现对html代码加密解密,javascript脚本加密解密及HTML转JS
HTML & Javascript 相互转换 < body > HTML & Javascript 输入 & 输出 < br > < script ...
- ss加密php,js前端加密,php后端解密(crypto-js,openssl_decrypt)
基于PHP和JS的AES相互加密解密方法详解(CryptoJS) 基于PHP和JS的AES相互加密解密方法详解(CryptoJS) 注意说明: 1. 首先引入CryptoJS包中的aes.js和pad ...
最新文章
- 2022互联网大厂薪资大比拼
- SAP SD基础知识之物料确定(Material Determination)
- php 一行代码解决二维数组去重
- Qt Creator构建Web应用程序
- 【数据结构与算法】之深入解析“最优运动员比拼回合”的求解思路与算法示例
- mysql查询并设置高亮_慢查询分析调优工具~mysqldumpslow
- css中伪类与伪元素的区别
- perform指标分析_performace 监控统计
- 【渝粤教育】电大中专新媒体营销实务 (16)作业 题库
- C++ 普通函数和模板函数调用规则
- 台式计算机光标时不时跳动,解决方案:如何解决联想笔记本触摸板上的光标跳动?...
- 微信支付id出现的重复支付解决方法和app应用中多种支付方式之间的对比
- USACO 3.2.6 Sweet Butter 香甜的黄油(最短路)
- 如何获取html输入框的值,jQuery如何获取各种input输入框的值
- 用vins_mono运行kitti(raw data)数据集并用evo评估。
- 警惕!全球酒店门锁很容易受到黑客攻击
- 在同一局域网如何共享文件
- 深度学习中 经常提到的 end to end 的理解
- C#中DataGridView移除选中行
- 【ALSA】关于alsa的总结