JDBC领域

密码加密算法和Glassfish 4中的摘要算法有什么区别? 由于密码加密算法不能为空白,所以我使用了MD5,而对于Encoding,Hex。 摘要算法是空白的,所以默认是SHA-256。

但是,如果我使用JAAS创建了一个简单的登录应用程序,并创建表,插入一个用户,并使用MD5加密密码,则用户无法登录。如果我使用SHA-256加密密码,用户可以登录。

那么,什么是密码加密算法字段?


文档在这一点上不是很清楚,但我的解释如下。 这是基于Glassfish v4参考手册。

密码加密算法确定密码在数据库中的加密方式。 这是参数digestrealm-password-enc-algorithm 。 你真的想把这个设置成某种东西,因为当然在密码数据库中保留密码是一个安全漏洞。

当有人试图验证时,glassfish需要一种方法来比较提交的内容和数据库中的内容。 但是,由于后者全部锁定,所以需要解锁钥匙。 在密钥上使用的加密(严格来说,散列)是在摘要算法(参数digest-algorithm )中定义的。 它在v4中默认为SHA-256(之前是MD5)。


那么,什么是密码加密算法字段?

摘要算法用于加密/散列登录请求,而密码加密算法用于从数据库解密密码。

但是,如果我使用JAAS创建了简单的登录应用程序,并创建表,插入一个用户,并使用MD5加密密码,则用户无法登录。

将MD5置于密码加密字段中,并将摘要算法留空(默认情况下,它在GlassFish 4中为sha-256)。

链接地址: http://www.djcxy.com/p/22089.html

上一篇: JDBC Realm

下一篇: Glassfish JDBC Realm not working with Umlauts