Java和js使用AESCBCPKCS5Padding(或者7)得到相同的密文

JavaScript029

Java和js使用AESCBCPKCS5Padding(或者7)得到相同的密文,第1张

首先准备一份明文和秘钥:

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的才行。

引入base.js类库

var base64 = BASE64.encoder(str)//返回编码后的字符  

  

var unicode= BASE64.decoder(base64Str)//返回会解码后的unicode码数组。

http://git.oschina.net/loonhxl/jbase64/blob/master/jbase64.js