我目前正在网页中实现WebDAV FileBrowser(Backend基于FlySystem)。一切正常但我不太确定如何在数据库中正确存储用户的凭据(目标是用户只需登录门户(基于OpenID Connect,我们的WebDAV解决方案不支持) ))。
将它们存储在纯文本中显然不是解决方案,并将它们存储为MD5哈希并使用摘要式身份验证因为现时而不起作用。
有什么想法吗?
答案 0 :(得分:0)
您可以而且应该存储摘要规范中的a1md5因子。这是一种非常安全的散列形式,与Digest auth。
兼容对于执行此操作的java代码,请参阅Milton webdav的DigestGenerator,您将使用encodePasswordInA1Format方法:
public String encodePasswordInA1Format( String username, String realm, String password ) {
String a1 = username + ":" + realm + ":" + password;
String a1Md5 = DigestUtils.md5Hex( a1 );
return a1Md5;
}