使用Spring/Hibernate进行密码加密 - Jasypt还是其他什么?

ste*_*own 17 java hibernate jpa password-encryption jasypt

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

据我所知,我会使用JCA支持的算法来加密密码,但如果有一个简单的方法,我宁愿不必实现包装器逻辑.

我正在看Jasypt,并且a)想知道这是一个不错的选择以及如何做到这一点以及b)其他人正在使用它.如果有人使用Jasypt或替代方案,那么您的体验细节就会很棒.

laz*_*laz 7

Java已经为您提供了所有必需的库.只需创建一个实用程序方法,使用OWASP中描述的盐实现散列.

如果您真的不想拥有该代码并且不介意额外的依赖,那么Shiro库(以前称为JSecurity)似乎具有OWASP描述的实现.

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

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


Kev*_*vin 5

您可以使用Jasypt with Hibernate来动态加密或散列您的属性,如果这就是您正在寻找的内容.如果您想要自己动作,那么使用JCE计算摘要(哈希)的实际算法非常简单.