javascript中的字符串加密和java中的解密
我的要求是,我们需要在java脚本中加密密码字符串,并且应该在java中解密。对于这个要求,我使用下面的代码。但我得到的错误是 javax.crypto.BadPaddingException:填充块已损坏 位于org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(未知来源) 位于javax.crypto.Cipher.doFinal(Cipher.java:2087) 我的代码片段是 java脚本代码:javascript中的字符串加密和java中的解密,java,javascript,encryption,Java,Javascript,Encryption,我的要求是,我们需要在java脚本中加密密码字符串,并且应该在java中解密。对于这个要求,我使用下面的代码。但我得到的错误是 javax.crypto.BadPaddingException:填充块已损坏 位于org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(未知来源) 位于javax.crypto.Cipher.doFinal(Cipher.java:2087) 我的代码片段是 java脚本代码: var encryp
var encryptedPassword = CryptoJS.AES.encrypt(password, key, {
});
Java代码是
Cipher c = Cipher.getInstance("AES/ECB/PKCS7Padding");
c.init(Cipher.DECRYPT_MODE, key);
byte[] decordedValue = BASE64DecoderStream.decode(encryptedData.getBytes());
byte[] decValue = c.doFinal(decordedValue);
decryptedValue = new String(decValue);
这里的密钥是用Java生成的
有人能帮我解决这个问题吗
或者,如果你有任何工作的例子,请提供给我一次
提前感谢。根据我的观察,模式和填充不一样。 我没有测试过这个,但请尝试一下 关于javascript
<script>
var blockAndPadding = { mode: CryptoJS.mode.CBC , padding: CryptoJS.pad.NoPadding};
var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase", blockAndPadding);
</script>
var blockAndPadding={mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.NoPadding};
var encrypted=CryptoJS.AES.encrypt(“消息”、“秘密密码短语”、blockAndPadding);
在java端,将方法参数更改为以下内容
Cipher c=Cipher.getInstance(“AES/CBC/NoPadding”)代码>感谢您的快速响应。感谢您的快速响应。我已经在我的jsp中包含了下面的js