【发布时间】:2015-10-13 11:32:45
【问题描述】:
我正在开发一个显示存储在 Liferay 数据库中的信息的应用程序。为此,我使用 Java 制作了一个从数据库读取数据的 Web 服务。所有查询都进行得很顺利,但我需要一个登录部分。问题是密码是加密的,我不知道如何比较用户提供的密码和我在数据库中的密码,这些密码是加密的。
编辑:passwords.encryption.algorithm 具有默认值:PBKDF2WithHmacSHA1/160/128000
有什么建议吗?
【问题讨论】:
-
谢谢!但如果可能的话,我正在寻找更容易的东西。因为我需要很多其他的 java 类,而不仅仅是那个。不过还是谢谢你
-
其实这取决于你的Liferay实例的设置,因为Liferay可以使用不同的加密(通过
passwords.encryption.algorithm属性设置,默认设置为PBKDF2WithHmacSHA1/160/128000)。特定的加密器实现在 github.com/liferay/liferay-portal/tree/6.2.x/portal-impl/src/… - 选择您需要的。 -
当然。我们在那个链接中有实现。但是,有没有其他方法可以在不使用所有这些 java 类的情况下进行比较?因为我需要使用
PBKDF2PasswordEncryptor.java和import com.liferay.portal.PwdEncryptorException; import com.liferay.portal.kernel.io.BigEndianCodec; import com.liferay.portal.kernel.security.SecureRandomUtil; import com.liferay.portal.kernel.util.Base64; import com.liferay.portal.kernel.util.CharPool; import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.Validator;@JozefChocholacek
标签: java encryption passwords liferay