gpt4 book ai didi

MySQL PASSWORD() 函数和 SpringSecurity ShaPasswordEncoder

转载 作者:可可西里 更新时间:2023-11-01 08:33:17 24 4
gpt4 key购买 nike

我有一个 mysql 数据库,它使用 MySQL 的 PASSWORD() 函数存储密码。从这个 URL 中我可以收集到的信息(并自己验证它以确保它适用于我的 MySQL 版本)

http://www.palominodb.com/blog/2011/12/04/hashing-algorithm-mysql-password

mysql 的散列函数是双 SHA1 散列,第一个结果从二进制转换为十六进制,然后再次散列。

SELECT PASSWORD("this_is_a_random_string") as 'pass';

pass: *12E76A751EFA43A177049262A2EE36DA327D8E50

SELECT concat('*', UPPER(SHA1(UNHEX(SHA1("this_is_a_random_string"))))) as 'pass';

pass: *12E76A751EFA43A177049262A2EE36DA327D8E50

所以我想做的是使用 SpringSecurity 的 ShaPasswordEncoder 来允许 Spring 使用这些哈希值。

除了将我自己的 PasswordEncoder 子类化并使用 ShaPasswordEncoder 构建上面 SQL 中显示的处理步骤之外,ShaPasswordEncoder 本身是否有一种标准方法来设置自己以使用 MySQL 的 PASSWORD 函数?

最佳答案

http://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_password

The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications.

关于MySQL PASSWORD() 函数和 SpringSecurity ShaPasswordEncoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20533514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com