当前位置: 首页 > 知识库问答 >
问题:

加密密码的Spring Security问题

蒋向笛
2023-03-14

我对Spring和SpringSecurity很陌生。我的数据库中有一个表,其中存储了用户及其密码。(Postgresql数据库)。每次当我在我的表中插入一个新记录时,我都有一个触发器,它使用md5算法加密密码。在我的应用程序中,我使用了Spring,我也尝试使用SpringSecurity3.2模块。我提供了自己的userdetailsservice服务。问题是我不知道该怎么做才能在这种情况下使身份验证成功。我认为spring由于密码是用数据库md5算法存储的,所以无法对用户进行身份验证。有没有人对我该怎么做有什么建议。

如果您需要任何代码示例,请向我索取。

共有1个答案

羊冠玉
2023-03-14

我认为spring没有对用户进行身份验证是因为密码是用数据库md5算法存储的

你是对的。您的解决方案导致DB中的密码被加密,但当用户尝试登录时,他输入了他的密码,然后是Spring(我猜是Spring吧?)尝试在数据库中的内容前面对其进行比较。所以Spring比较了纯文本和加密文本,结果失败了。

解决方案是在登录时加密用户输入的密码,然后在数据库前进行比较。

 类似资料:
  • 问题内容: 我已经以加密格式将用户密码存储在数据库中。但是,现在,当用户想要登录并尝试输入其原始密码时,该代码始终会将输入的(原始)密码与数据库中存储的加密版本进行比较,从而导致登录失败。 请告诉我如何比较输入的(原始)密码和存储在数据库中的加密密码。 问题答案: 几乎可以肯定,您应该对密码进行 哈希处理 ,而不是使用可逆加密。您可能还需要 用盐 来做…在这种情况下,正确的步骤是: 查找最初对密码

  • 在FTPS中,密码在尝试通过internet连接服务器时被加密。这就是我所理解的,如果我的理解有任何遗漏,请更正。我的问题是,当我厌倦了模拟它(FTPs和FTP)时,我只是得到一条消息,说SSL已经建立(以及基于隐式和显式调用的端口更改)。 是否有任何其他方式来确认密码是真正加密的,或者我们可以看到密码时,它的普通FTP。下面是我在服务器端看到的日志 启用FTP时的服务器日志- 状态:TLS/SS

  • cmf_password($pw, $authCode = '') 功能 CMF密码加密方法 参数 $pw: string 要加密的原始密码 $authCode: string 加密字符串 返回 string 加密后的密码 例子 echo cmf_password('666666');

  • 我遇到的问题是,我得到错误“There is no PasswordEncoder mapped for The id”null“”。我读过springsecurity如何不允许密码为纯文本(我理解这是为了安全措施),但问题是我真的不知道如何修复这个错误 和

  • 问题内容: 我正在尝试学习如何使用Java进行基于密码的加密。我在网上找到了几个示例,但在Stack Overflow上还没有(到目前为止)。这些示例对我的解释不大,尤其是在算法选择方面。似乎有很多传递字符串来说明要使用什么算法,但是很少有关于字符串来自何处以及含义的文档。而且似乎不同的算法可能需要KeySpec类的不同实现,所以我不确定哪种算法可以使用我正在查看的PBEKeySpec类。此外,所

  • 问题内容: 我需要访问joomla用户表以从外部php脚本[codeignitor]进行登录检查。 joomla这样存储密码 看起来这不是正常的MD5,所以我无法使用。 创建密码的可能方式是什么? 谢谢。 问题答案: Joomla密码是经过MD5哈希处理的,但是在哈希处理之前,已对密码进行了固定处理。它们被存储在数据库中,因为此盐是长度为32个字符的随机字符串。 因此,要创建一个新的密码哈希, 编