gpt4 book ai didi

java - Jasypt 加密字符串无法在另一台机器上解密

转载 作者:行者123 更新时间:2023-12-01 04:44:28 27 4
gpt4 key购买 nike

我们的安全部门希望我们使用 256 位加密来加密 SSN、用户名等,因此我们决定使用 JASYPT,示例代码如下:

encryptor = new StandardPBEStringEncryptor();
encryptor.setProvider(new BouncyCastleProvider());
encryptor.setAlgorithm("PBEWITHSHA256AND256BITAES-CBC-BC");
encryptor.setPassword(OUR_KEY)
encryptor.encrypt("TEXT TO ECNCRYPT")

我们注意到的问题是,当我们的应用程序从本地计算机创建加密记录时,应用程序开发服务器上的应用程序无法解密它,反之亦然,即使 key 相同。看起来 JASYPT 正在盐中添加一些特定于机器的信息(Mac 地址等)。

即使使用FixedStringSaltGeneratorZeroSaltGenerator也无济于事。这给我们带来了一个问题,因为如果我们将生产服务器迁移到另一台机器,或者使用生产数据刷新预生产数据,我们可能需要几百万年才能恢复信息。

安全部门希望我们使用众所周知的库,而不是制定内部解决方案。有人可以阐明这个问题,说明我们如何生成可以使用 jasypt 256 位加密在不同机器上解密的加密字符串,或者当我们使用产品数据刷新预产品数据库时,我们如何能够恢复名称等通过不同的服务器加密?

任何有用的见解将不胜感激。

最佳答案

您的 key 可能包含一些特殊字符,它们可以用其他字符替换。执行 echo "yourkey"> 文件并检查该文件的内容。然后使用该内容作为解密 key ;它应该能够解密加密的字符串。

关于java - Jasypt 加密字符串无法在另一台机器上解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16069974/

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