将SHA1转换为普通形式

时间:2010-12-02 19:42:57

标签: php passwords sha1

我有一个数据库,每个密码都通过SHA1传递。有时,我想转到用户仪表板,看看它的感觉。有没有办法,我可以将SHA1转换为普通形式,仅用于测试目的?

谢谢

4 个答案:

答案 0 :(得分:9)

如果用“普通形式”表示“我可以检索创建给定哈希的字符串”,答案是否定的。并且它应该是NO,因为这是安全哈希的全部要点:使其易于创建,极其复杂(理想情况下是不可能的)还原,否则,为什么在地球上你会做出安全哈希?

如果你试图破解用户的帐户,那么我建议你去另一个论坛。

答案 1 :(得分:1)

SHA1是单向哈希。您无法将其转换为普通形式。您可以在此处详细了解:http://php.net/manual/en/function.sha1.php

出于测试目的,您应该创建测试用户帐户。使用sha1('test');或者你喜欢的任何东西。

答案 2 :(得分:0)

由于您无法将SHA1转换为纯文本,因此可以编辑身份验证脚本,假设其PHP将密码输入文本加密为SHA1,并将其与DB值进行比较,以允许匹配的密码或“admin”密码

例如,如果您的代码类似于

if($ html_username_input == $ db_username&& $ sha1_html_password_input == $ db_password){  //身份验证 } 其他{  //未经过身份验证 }

你可以添加一个类似的elseif语句 elseif($ html_username_input == $ db_username&& $ sha1_html_password_input == $ sha1_YOUR_ADMIN_PASSWORD){  //经过身份验证 }

显然,您的代码看起来并不完全相同,但这是一个允许您检查随机人员仪表板的选项。

答案 3 :(得分:0)

虽然上面提供了您的问题的答案,但我会提到一些可能解决您问题的方法。

您需要为自己的网站创建虚拟帐户。我意识到您的管理员拥有所有权限,并且出于测试目的,这不会为您提供用户视角。我使用密码fakepassword命名我的虚拟帐户fakeuser。该用户仅存在于我进行测试的本地主机上。