将WebDAV凭据安全地存储在数据库中

时间:2016-06-29 07:25:28

标签: php security webdav

我目前正在网页中实现WebDAV FileBrowser(Backend基于FlySystem)。一切正常但我不太确定如何在数据库中正确存储用户的凭据(目标是用户只需登录门户(基于OpenID Connect,我们的WebDAV解决方案不支持) ))。

将它们存储在纯文本中显然不是解决方案,并将它们存储为MD5哈希并使用摘要式身份验证因为现时而不起作用。

有什么想法吗?

1 个答案:

答案 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;
}

https://github.com/miltonio/milton2/blob/master/milton-server-ce/src/main/java/io/milton/http/http11/auth/DigestGenerator.java