【发布时间】:2021-01-19 22:13:14
【问题描述】:
我在 PHP 中使用 AES-256-ECB 加密了字符串。
$sString = "test"
$sEncryptionMethod = "AES-256-ECB";
$sEncryptionKey = "mysecretkey";
openssl_encrypt($sString, $sEncryptionMethod, $sEncryptionKey)
我想用 Java/Scala 解密它吗?
String secret = "mysecretkey";
SecretKeySpec skeySpec = new SecretKeySpec(encKey.getBytes("UTF-8"), "AES");
byte[] decodedValue = Base64.getDecoder.decode(token);
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
int decryptMode = Cipher.DECRYPT_MODE;
cipher.init(decryptMode, skeySpec);
new String(cipher.doFinal(decodedValue));
我看到以下错误?我们如何使用 Java 解密相同的内容? 注意:(PHP 中的解密按预期工作)但我想在 Java 中执行此操作
Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
【问题讨论】:
-
这能回答你的问题吗? Given final block not properly padded
-
不,我不能改变现有的算法。
标签: java php encryption aes