使用Spring/Hibernate进行密码加密 - Jasypt还是其他东西?[已关闭]

在数据访问层中具有Spring & Hibernate(JPA)的Java应用程序堆栈中,应用密码加密(希望使用注释)的好方法是什么,在哪里可以找到有关完成它的更多信息(教程等)?

据了解,我将使用JCA支持的算法来加密密码,但是如果有简单的方法,我宁愿不必实现包装器逻辑。

我正在研究Jasypt,并且是a)想知道这是否是一个不错的选择以及如何做到这一点,以及b)人们还为此使用了什么。如果有人正在使用Jasypt或替代方案,那么您的体验细节会很棒。


答案 1

Java 已经为您提供了所有必需的库。只需创建一个实用程序方法,该方法使用盐实现哈希,如OWASP中所述。

如果你真的不想拥有这些代码,也不介意额外的依赖关系,那么Shiro库(以前称为JSecurity)似乎具有OWASP所描述的实现

看起来你提到的JASYPT库也有类似的实用程序

我意识到这个答案没有提到Spring或Hibernate,但我不清楚你希望在这种情况下如何利用它们。


答案 2

您可以将 Jasypt 与 Hibernate 结合使用,以动态加密或散列您的属性(如果这是您要查找的)。计算摘要(哈希)的实际算法非常简单,如果您也想滚动自己的JCE。


推荐