7

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

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

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

4

2 回答 2

2

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

密码加密算法确定密码在数据库中的加密方式。这是参数digestrealm-password-enc-algorithm。您确实希望将此设置为某些东西,因为当然将密码保留在数据库中是一个安全漏洞。

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

于 2013-10-21T20:52:29.287 回答
0

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

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

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

将 MD5 放在密码加密字段中,并将 Digest Algorithm 留空(默认情况下,在 GlassFish 4 中为 sha-256)。

于 2013-10-17T19:38:24.837 回答