gpt4 book ai didi

MySql SHA1() 允许不正确的密码

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:09 25 4
gpt4 key购买 nike

我正在尝试使用 SHA1() 为使用 MySql 作为远程数据库的 Android 应用程序加密密码。

为了测试实现,我只是将用户电子邮件地址添加到密码中并通过 SHA1() 运行它。代码片段来自数据库上的sql:

INSERT INTO person (
email_address,
user_password
) VALUES (
str_email,
SHA1(str_password+str_email)
);

登录函数为:

SELECT id FROM person WHERE
email_address = userEmail AND
user_password = SHA1(userPassword+userEmail);

如果我添加一个密码为“me@email.com”和“abc”的人,然后使用“me@email.com”和“differentPassword”调用登录函数,程序仍会返回正确的 ID来自 person 表,我预计不会有结果。

SHA1('correct email' + 'wrong password') 如何与 SHA1('correct email' + 'correct password') 匹配?

我使用的主机是慈善云主机。 BCrypt 不可用,所以我只能使用内置的 MySql 函数。

最佳答案

MySQL 不支持 + 符号连接。请改用 ||CONCAT()

另外,考虑使用更安全的散列函数。

关于MySql SHA1() 允许不正确的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21637640/

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