java - Java DES/ECB/PKCS5Padding 加密值不相同
问题描述
解决方案
这很可能是您的本地默认编码和网站的默认编码之间的冲突。
要解决它,请在提取密钥的字节时指定编码:
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)中可用的其他值。
推荐阅读
- php - 550 Bad HELO - 主机冒充域名 Laravel
- python - 用于循环创建的 Python Tkinter 输入框
- range - 在 devDept.Eyeshot 的 viewportlayout 上使用 Block 类
- ruby-on-rails - Mac OSX上rails的完整路径是什么?
- python - 如何在python中连续连接或连接或合并2个或多个图?
- c# - 为什么我更新源属性时视图没有更新?
- java - 未能在错误的项目上执行目标
- c# - 在表单中使用按钮时,Form.Modal 属性如何变化?
- javascript - 如何在初始化 Vue 组件之前添加启动消息?
- php - Laravel Voyager / S3 存储 - 无法检索头像