gpt4 book ai didi

java - Jasypt - 使用不同的加密器进行加密和解密

转载 作者:行者123 更新时间:2023-12-02 03:04:34 25 4
gpt4 key购买 nike

情况是我有一个使用 hibernate 的应用程序。我将其配置为与 jasypt 一起使用,以便该应用程序将数据加密到数据库中。然后,我有另一个从数据库读取数据的应用程序,它不使用 hibernate 。两个应用程序使用相同的数据库,第二个应用程序需要读取并解密第一个应用程序加密的数据。

现在,尽管我在两个应用程序中使用相同的 jasypt pwd,但我还是遇到了此异常:

Exception in thread "main" org.jasypt.exceptions.EncryptionOperationNotPossibleException

我正在使用 BasicTextEncryptor 进行解密。

我想知道我需要的是否可行,如果可行,如何实现。

请注意,jasypt 加密和解密是在使用 hibernate 的应用程序中进行的

最佳答案

我遇到了类似的错误,并且我也使用了 BasicTextEncryptor。

原因:BasicTextEncryptor 使用 StandardPBEStringEncryptor 来发挥魔力。最后一个使用盐,默认盐是RandomSaltGenerator。

解决方案:最干净的方法是通过扩展 TextEncryptor 接口(interface)创建自己的加密器(只有几种方法)。看看里面BasicTextEncryptor举个例子。

代码示例(避免错误):

StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword(encryptionKey);
encryptor.setSaltGenerator(new StringFixedSaltGenerator(salt));
String encodedString = encryptor.encrypt(originalString);

关于java - Jasypt - 使用不同的加密器进行加密和解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930215/

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