Spring Security 加密 MD5

2024-03-18

我有一个使用 spring 框架和 spring security 进行登录的 java web 应用程序。在我的数据库中,我的密码在保存之前已加密为 MD5。我在 application-config.xml 中添加了这段代码

 <security:authentication-provider>
<security:password-encoder hash="md5"/>
<security:jdbc-user-service
        data-source-ref="dataSource"
        users-by-username-query="select user_name username, user_password password, 1 enabled from users where user_name=?"
        authorities-by-username-query="select username, authority from authorities where username=?" />
</security:authentication-provider>

起初,当数据库中的密码未加密时,它起作用。但是当我对其进行加密并将此片段添加到我的应用程序配置中时

      <security:password-encoder hash="md5"/>

我无法登录。


我意识到这有点晚了,但是 Spring 具有内置的类,使这变得容易得多。

@Test
public void testSpringEncoder() {
    PasswordEncoder encoder = new Md5PasswordEncoder();
    String hashedPass = encoder.encodePassword("koala", null);

    assertEquals("a564de63c2d0da68cf47586ee05984d7", hashedPass);
}

这是我使用内置 Spring Security 代码编写的单元测试,它比 MessageDigest 代码小很多,并且由于您已经在使用 Spring Security,因此您的类路径中应该已经包含了这些类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Security 加密 MD5 的相关文章

随机推荐

  • 是否可以在不知道 Firebase 数据库中的两个自动生成的键内获取值?

    我在每个自动生成的键下添加了一些值 并添加了与每个键对应的子项 示例学生 然后我添加了自动生成的密钥与这个孩子 学生 和值 现在的问题是我如何从这个序列中获取值 我正在为学生使用模型课程 可以吗 要读取此数据 然后在您的应用程序中处理它 您
  • 如何删除名称以点(“.”)结尾的文件夹?

    我收到了一些由恶意软件创建的文件夹 其名称以点结尾 例如C a or C b etc 我找到了一个可以使用命令删除此类文件夹的解决方案rd q s C a 但如果我调用 win APIRemoveDirectory http msdn mi
  • 第一次加载页面时出现“无法在框架中查看此内容”错误

    我开发了一个搜索表单 托管在我公司的本地服务器 iis net core 网站 中 该网站是托管在另一台服务器 apache wamp 上的 Wordpress 该服务器也在公司内 两者都有不同的公共IP 但两者都托管在同一域的子域下 比如
  • Rails 每个循环每 6 个项目插入标签?

    我有 X 个图像对象 需要在视图中循环遍历 并希望每 6 个对象左右创建一个新的 div 对于画廊 我看过cycle 但它似乎改变了所有其他记录 有谁知道每 6 次向视图中插入代码的方法吗 我可能可以用嵌套循环来做到这一点 但我对这个有点难
  • C++ 输入运算符重载

    我正在尝试重载我创建的 UserLogin 类上的输入运算符 不会引发编译时错误 但也不会设置值 一切都在运行 但 ul 的内容仍然存在 字符串 id 是 sally 登录时间为00 00 注销时间为 00 00 入口点 include
  • 如何使 videojs 标记可滑动或可移动

    我想移动我的markers每当它随着搜索一起滑动时 我希望我的标记准确无误slidable as jqueryui 滑块 问题 我想要我的markers 两者 一样可滑动jqueryui range滑块如以下示例中的视频所示 var pla
  • Retrofit+OkHttp 发送 GET 请求时可以,但发送 POST 时给出 SocketTimetout

    我从 Retrofit 开始 可以成功执行 GET 请求 但是当我尝试执行 POST 或 PUT 请求时 出现 SocketTimeOut 异常 我根据以下内容将 OkHttp 添加到我的 libs 文件夹中这个问题 https stack
  • @JsonInclude(Ininclude.NON_NULL) 未按预期工作

    我已经添加了 JsonInclude Include NON NULL Response 类上的注释 JsonInclude Include NON NULL public class Response JsonProperty priva
  • Nuxt - 将脚本添加到头部和主体

    我正在尝试在我的 Nuxt 应用程序中使用此脚本 但不知道如何操作 在基本的 HTML 文件中 它工作得很好 这是代码
  • Hibernate Envers 修订信息(更改列表)

    我想在我的项目中添加修订更改列表 单击信息图标 例如 Revision X added fieldA entry modified fieladB from B to BB removed fieldC entry 哪个是最好的方法 ps
  • Xcode 连接到 MS SQL 数据库

    我有一个现有数据库已在远程启动并运行MS SQL server 并且我希望能够与该数据库进行通信和交互Xcode 我正在写一份申请OS X in Swift以及应用程序应使用的数据存储在该远程数据库中 问题是我好像找不到Swift可以连接到
  • 如何传递 bquote 的符号字符串以在 ggplot 中求值?

    我在函数中创建的 ggplot 的轴标签有所不同 有些标签有上标 下标 而另一些则没有 例子 m data lt data frame x runif 10 y runif 10 x labs lt c rain mm light W m
  • array_walk 匿名函数

    有没有办法让我用匿名函数来获取这个数组来设置值 url array dog cat fish array walk url function value key url key str replace dog value echo pre
  • Azure CLI 运行命令使用参数调用 RunPowerShellScript

    我一直在尝试在 Azure VM 上运行一个脚本 该脚本需要像这样传递参数 az vm run command invoke g
  • scikit learn:与 GridSearchCV 兼容的自定义分类器

    我已经实现了自己的分类器 现在我想对其运行网格搜索 但出现以下错误 estimator fit X train y train fit params TypeError fit takes 2 positional arguments bu
  • ASP>net MVC 可重用部分

    在 winforms 和 ASP net 中使用 net 几年后 我现在开始进入 MVC 我知道有点晚了 对我来说 一个主要的困惑是可重用 组件 的概念 类似于网络表单中用户控件的概念 例如 我希望在我的网站的会员区域内有许多 小部件 其中
  • OpenCL 内置函数“选择”

    我不清楚内置 OpenCL 函数的目的是什么select 有人可以澄清一下吗 来自 OpenCL 规范 功能选择 基因型a 基因型b 基因型c 返回 对于向量类型的每个分量 结果 i 如果设置了 c i 的 MSB b i a i 在这种情
  • 在 asp.net C# 中使用客户端 ID 和客户端密钥访问 Sharepoint 列表

    目前 我可以使用用户 ID 和密码访问共享点列表 如下所示 但想了解如何使用客户端 ID 和客户端密码访问列表 string siteUrl https xyz sharepoint com sites MyList ClientConte
  • VBA 运行时错误 3134

    以下代码创建一个 SQL 字符串 该字符串在 MS Access 中产生语法错误 3134 sql INSERT INTO tblItems desc descExtended itemNumber currentPrice VALUES
  • Spring Security 加密 MD5

    我有一个使用 spring 框架和 spring security 进行登录的 java web 应用程序 在我的数据库中 我的密码在保存之前已加密为 MD5 我在 application config xml 中添加了这段代码