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