[英]Best way to store multiple passwords into Database
在我的数据库中,有一个用于输入用户密码(User.UserPassword)的字段,我正在使用SHA1算法对用户输入进行哈希处理,然后使用盐对其进行哈希处理。 好没问题。
但是现在我也在对CIFS用户进行身份验证。 CIFS的一种协议是NTLMv1,它对我的Samba Java服务器使用16位MD4(非常不安全)。
我无法将MD4转换为SHA1或比较那些哈希结果。 因此,我需要保存两个哈希或比较它们。 因此,我可以:
将MD4哈希保存到User.UserPasswordMD4中。
将MD4哈希保存到其他表中,例如ExternalAuthenticators
保存用户全文密码并进行转换(大)
Spring Security(我还不知道该怎么做)
您的选择在这里...
谁能帮我?
看起来您应该将RC4哈希存储在某个地方,因为客户端和服务器都应对质询字节执行相同的操作,然后服务器应比较结果。
您可以在加密分区上存储重要的数据库数据或所有数据库数据,但是这会稍微降低性能。
我可以建议将RC4密码存储到SHA-1字段中,但应进行加密。 3DES就足够了,也许要加些盐。 您已经应该在SHA-1哈希值的某处加盐。 当您需要RC4哈希时,可以简单地从数据库解密值,减去(或XOR)盐并执行常规的身份验证过程。
而且不要使用NTLM v1,因为它太旧而且不安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.