Java和js使用AES/CBC/PKCS5Padding(或者7)得到相同的密文

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java和js使用AES/CBC/PKCS5Padding(或者7)得到相同的密文相关的知识,希望对你有一定的参考价值。

key和iv一样,明文也一样

  首先准备一份明文和秘钥:
  var plaintText = 'aaaaaaaaaaaaaaaa'; // 明文
var keyStr = 'bbbbbbbbbbbbbbbb'; // 一般key为一个字符串

  参看官网文档,AES方法是支持AES-128、AES-192和AES-256的,加密过程中使用哪种加密方式取决于传入key的类型,否则就会按照AES-256的方式加密。
  CryptoJS supports AES-128, AES-192, and AES-256. It will pick the variant by the size of the key you pass in. If you use a passphrase, then it will generate a 256-bit key.
  由于Java就是按照128bit给的,但是由于是一个字符串,需要先在前端将其转为128bit的才行。追问

这个跳过,没准备我是不会发问题的。

参考技术A key一样,加密的结果当然一样追问

空说无凭,求js完整demo,我能看懂。

以上是关于Java和js使用AES/CBC/PKCS5Padding(或者7)得到相同的密文的主要内容,如果未能解决你的问题,请参考以下文章

Java实现AES/CBC/PKCS7Padding加解密

Java AES 解密检测到不正确的密钥

使用 Java 解密 AES256 CBC

js AES-128-CBC 解密易班轻应用verify_request

js中怎么使用AES-128-CBC加密

nodejs中aes-128-cbc加密和解密