小编mar*_*390的帖子

CryptoJs的decrypt方法返回空字符串

我正在尝试使用 AES256 进行加密/解密,使用 Java 进行加密,使用 CryptoJS 进行解密。在 Java 中测试加密工作正常,但 JavaScript 中的解密方法返回空字符串。请注意,为了测试 JavaScript,我在 tmp 文件中打印出数据、IV 和 salt 的值,然后在 JS 中进行硬编码。(注意:文件中的格式为: data (byte[] base64) 、 Iv(string base64) 和 salt(string base64) )。

\n\n

这是java中的代码:

\n\n
public byte[] encrypt(String plainText) throws Exception {        \n    //get salt\n    salt = generateSalt();      \n    byte[] saltBytes = salt.getBytes("UTF-8");\n\n    // Derive the key\n    SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");\n    PBEKeySpec spec = new PBEKeySpec(\n            password.toCharArray(), \n            saltBytes, \n            pswdIterations, \n            keySize\n            );\n\n    SecretKey secretKey = …
Run Code Online (Sandbox Code Playgroud)

javascript encryption sha1 aes pbkdf2

5
推荐指数
1
解决办法
5504
查看次数

标签 统计

aes ×1

encryption ×1

javascript ×1

pbkdf2 ×1

sha1 ×1