gpt4 book ai didi

java - 我在我的解密方法中得到 BadPaddingException

转载 作者:行者123 更新时间:2023-11-29 08:38:26 26 4
gpt4 key购买 nike

我正在使用以下(片段)代码来加密用户的私有(private)数据以存储在数据库中,然后解密以便他们可以查看。

Cipher cipher = Cipher.getInstance("DESede");
byte[] bytes = cipher.doFinal(value.getBytes());
String encrypted = new String(bytes);

然后将此字符串存储在数据库中的 varchar 列下

解密:

Cipher cipher = Cipher.getInstance("DESede");
byte[] bytes = cipher.doFinal(value.getBytes());
String decrypted = new String(bytes);[code]

现在看似随机我偶尔会得到

javax.crypto.BadPaddingException: Given final block not properly padded

最佳答案

您从加密中获得的数据是二进制。您不能安全地将您的 byte[] 转换为 String 并像您所做的那样来回转换,因为并非所有字节都具有 1-1 来回映射。要么将数据保存在可以处理二进制数据的字段中,要么使用不会丢失数据的编码方式(例如base64Hex)对数据进行编码编码。

关于java - 我在我的解密方法中得到 BadPaddingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42044614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com