【发布时间】:2011-03-06 21:42:35
【问题描述】:
所以我遇到了这个非常奇怪的问题。我有一个登录脚本,您输入用户名和密码。密码发布后,我使用 php 函数 sha1() 对其进行 sha1,并将其与数据库中的 sha1 版本进行比较。如果他们匹配它登录。那部分工作正常。现在我在移动版本上拥有相同的功能,但它使用不同的形式和不同的 URL。输入密码后,我会执行所有完全相同的步骤,但发布的 sha1 哈希与数据库中的 sha1 哈希不同。我知道我每次都输入完全相同的内容,所以我不明白为什么这两个值会不同。这仅适用于某些用户名/密码组合。我错过了什么吗??
【问题讨论】:
-
您所说的“移动版”是什么意思?
-
在散列之前检查以确保字符串实际上符合您的预期。哈希函数不能为相同的输入返回不同的结果。
-
有要显示的代码吗?您确定 sha1-function 没有应用两次吗?等等等等。
-
移动版和网页版是否使用相同的登录 PHP 脚本?相同的字段名称?
-
注意不可见的字符,例如尾随回车。在 shaing 之前尝试在字符串上使用 trim()
标签: php forms codeigniter encryption sha1