几个星期前我上了这篇文章并完美地工作:

Compatible AES algorithm for Java and Javascript

现在,我需要进行相反的操作,但是在java中,我得到了这个异常:

javax.crypto.BadPaddingException: Given final block not properly padded

at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:966)

at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)

at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:436)

at javax.crypto.Cipher.doFinal(Cipher.java:2165)

这是我在JavaScript中执行的“反向”操作:

var rkEncryptionKey = CryptoJS.enc.Base64.parse('u/Gu5posvwDsXUnV5Zaq4g==');

var rkEncryptionIv = CryptoJS.enc.Base64.parse('5D9r9ZVzEYYgha93/aUK2w==');

function encryptString(stringToEncrypt) {

var utf8Stringified = CryptoJS.enc.Utf8.parse(stringToEncrypt);

var encrypted = CryptoJS.AES.encrypt(utf8Stringified.toString(), rkEncryptionKey, {mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, iv: rkEncryptionIv});

return CryptoJS.enc.Base64.parse(encrypted.toString()).toString();

}

我虽然这将是全部?

[编辑]

加密字符串如下:{“company_name”:“asdfasdfasd”,“customer_name”:“asdfasdfasdfasdf”,“phone_number”:“asdfasdfasdfasdf”,“email”:“asdfasdfasdfasdfads”}

当从java到java进行加密/解密时,它可以工作,当从java到javascript这样做时,也可以工作,但是从javascript到java,不能正常工作.

Java代码

public String toJson(final String encrypted) {

try {

SecretKey key = new SecretKeySpec(Base64.decodeBase64("u/Gu5posvwDsXUnV5Zaq4g=="), "AES");

AlgorithmParameterSpec iv = new IvParameterSpec(Base64.decodeBase64("5D9r9ZVzEYYgha93/aUK2w=="));

byte[] decodeBase64 = Base64.decodeBase64(encrypted);

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

cipher.init(Cipher.DECRYPT_MODE, key, iv);

return new String(cipher.doFinal(decodeBase64), "UTF-8");

} catch (Exception e) {

throw new RuntimeException("This should not happen in production.", e);

}

}

java cryptojs_使用cryptojs的Java到JS和JS到Java的加密相关推荐

  1. 前端使用 CryptoJS(v3.1.2) 进行des解密,后端java

    后端Java使用JDK的API进行des加密, 需要前端解析 JavaScript解密 注意key和iv(向量)都应该是utf8格式的 Java使用byte数组加密的,前端需要先转换为字符串,然后再转 ...

  2. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  3. java 判断语句 性能_前端性能优化:js中优化条件判断语句

    在开发过程中,由于追求开发速度,我们往往很多时候都没有注意代码的可读性与性能,这里介绍几个技巧,让你写出可读性强.简洁的js代码 1.多个条件满足之一时,推荐使用Array.includes// 优化 ...

  4. js 引用 java常量_java调用JS 与JS 调java

    这个 刚开始 我也不会,把我整的是个蛋疼的啊, 最后发现其实挺简单的,我现在给大家说的是我自己掌握的一种, 1. 先是要给项目配置一些权限 (1).访问网络权限 (2).访问SD卡权限 2.给webv ...

  5. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...

  6. java 推送数据给js,Node.js实现数据推送

    场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器). 后端推送数据的解决方案有很多,比如轮询.Comet.WebSocket. 1. 轮询对于后端来说开发成本最低,就是按照传统的方式 ...

  7. ajax调用java程序,从微信小程序到鸿蒙JS开发-JS调用Java

    除轻量级智能穿戴设备,现鸿蒙支持的手机.汽车.TV.手表.平板等属于富鸿蒙,在JS语言的项目中也有Java模块,并提供了JS跨语言调用Java方法的技术.现需要实现查看商品评论时,统计出长评.中评和短 ...

  8. java 怎么调用js代码_在Java中直接调用js代码

    JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: " ...

  9. js调用android本地java代码

    js调用android本地java代码 当在Android上使用WebView控件开发一个Web应用时,可以创建一个通过Javascript调用Android端java代码的接口.也就是可以通过Jav ...

  10. node.js go java_ABAP,Java, nodejs和go语言的web server编程

    ABAP and Java see my blog). nodejs 用nodejs现成的express module,几行代码就能写个server出来: var express = require( ...

最新文章

  1. WMI技术介绍和应用——查询正在运行的进程信息
  2. Zookeeper源码分析:集群模式启动概述
  3. 【SpringCloud】Ribbon-实例
  4. jvm理论-字节码指令
  5. 《大话数据结构》第9章 排序 9.8 归并排序(上)
  6. java 线程休眠_百战程序员:java线程的休眠和回复
  7. 容联雷辉:视频系统由标清进入到移动高清时代
  8. Linux进程管理工具的使用
  9. Ubuntu 命令行修改网络配置方法
  10. Android之使用MediaPlayer和SurfaceView组件播放一个简单的视频
  11. [Cocoa]深入浅出Cocoa之Bonjour网络编程
  12. [转载] 高阶函数和柯里化
  13. paip.Adblock屏蔽规则保存位置以及修理恢复
  14. ASP.NET学生考勤管理系统【源码分享】
  15. 3 月书讯丨如果我早点看到这套书,数学也不会学成这个鬼样子
  16. dcp7080d怎么加墨粉_兄弟打印机DCP 7080D提示更换墨粉该怎么办-
  17. 想找一款读书笔记软件?快来试试BookxNote
  18. 压力换算公斤单位换算_压力表单位换算
  19. 基于 CEEMDAN 和小波包的降噪方法研究
  20. PHP计算比较两段文字内容的重复率

热门文章

  1. MATLAB VideoReader读取视频出错解决办法
  2. html添加在线音乐代码,给网页添加背景音乐的HTML代码
  3. windows 安装 perl 教程
  4. 数字电路逻辑设计 总结
  5. 利用html+javascript开发桌面软件
  6. 如何正确安装 Google Picasa 2 中文版?
  7. 基于PHP开发的外卖订餐网站(带源码)
  8. 订餐系统oracle实训报告,网上订餐系统设计报告.doc
  9. 小波分析 瞬态信号 matlab,小波变换在瞬态信号波至点检测中的应用研究
  10. iphone配置实用工具iPhone Configuration Utility