同事们,我在我的 spring-boot 项目中使用了 Jasypt(在 Windows 上运行的独立 jar)。 我需要通过命令行传递主密码才能运行 jar 。 它看起来像:
java -jar -Djasypt.encryptor.password=masterpass app-1.0.0-RELEASE.jar
因此任何人都可以通过 Windows 任务管理器查看 masterpass
:
如何确保此主通行证的安全?
我找到了一个示例,其中主密码存储在 Windows 环境变量中,但是,似乎这不是一个好主意。
最佳答案
在客户端工作站上运行时,通常很难隐藏任何内容。最后 - 当密码/ key 被加密时,您无论如何都需要将密码或私钥存储在某处:/
您可以对数据进行编码/加密以使其变得更加困难,但是一旦二进制文件和配置驻留在客户端,您将无法轻易阻止专门的对手。
如果您至少不想在外部(在环境或命令行中)显示密码 - 如何从文件中读取主密码并在 main
中设置系统属性还运行其他东西吗?
(请告诉我是否有效)
关于java - Jasypt:主密码如何安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47675575/