首页 > 解决方案 > Java DES/ECB/PKCS5Padding 加密值不相同

问题描述

标签: javaspring-bootencryptionjava-83des

解决方案


这很可能是您的本地默认编码和网站的默认编码之间的冲突。

要解决它,请在提取密钥的字节时指定编码:

import static java.nio.charsets.StandardCharsets.UTF_8;
...
DESKeySpec dks = new DESKeySpec(key.getBytes(UTF_8))

此外,您还指定了非标准编码,gb2312. 尝试改用 UTF-8、UTF-16 或朋友。

return new String(decryptedBytes, UTF_8);

如果它仍然不起作用,请尝试使用StandardCharsets(参见Javadoc)中可用的其他值。


推荐阅读