【问题标题】:Retrieving an encrypted password in PHP [duplicate]在 PHP 中检索加密密码 [重复]
【发布时间】:2013-03-02 19:52:55
【问题描述】:

以下代码是我在 PHP 中用来加密密码的...

$password = sha1(sha1($_POST['password']).sha1("mySalt@$#(%"));

我可以使用什么代码让用户可以使用他们输入的内容登录?

【问题讨论】:

    标签: php mysql sha1 password-encryption


    【解决方案1】:

    sha1 是一种散列算法,而不是 2 路加密。您无法找回原始密码。

    1. 使用相同的算法对提交的密码进行哈希处理。
    2. 从您的数据库中获取相关用户的密码哈希。
    3. 比较两个哈希值。如果它们匹配,则凭据正常。

    【讨论】:

    • 感谢您的回复。
    • 感谢您的回复。我的问题是:我使用哪个代码让我的数据库中的用户可以登录他们的帐户?顺便说一句,这只是一个小型 uni 项目
    • 编写一个完整的身份验证系统在某种程度上超出了适用于 SO 问题的范围。
    【解决方案2】:

    您应该使用crypt 进行密码哈希,sha1/md5 太弱了。

    所有你需要的:

    function check_password($password) {  
        ...//get db password to compare
        if (crypt($post_password, $db_results[0]['password']) == $db_results[0]['password']) {  
            return true;  
        } else { return false; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 2012-01-01
      • 2018-08-10
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 2011-07-31
      相关资源
      最近更新 更多