如何通过表单字段将SHA1输入数据库时​​使用SHA1来密码

时间:2014-09-02 17:01:04

标签: php mysql sql

我试图弄清楚如何使用加密SHA1在数据库中存储密码,并且我正在努力解决这个问题。

我知道如何通过表单以未加密方式输入它,但不知道如何在phpmyadmin中查看输入的表时自动加密它。

我知道如果我想加密特定密码,我可以通过SQL直接输入,如下所示:

INSERT INTO注册(密码)值(SHA1('加密密码'));

但我不确定当我通过字段输入密码时如何自动执行此操作。

另外,请理解我现在只做了几个月的PHP,所以我还是比较新的。

到目前为止,我已经得到了什么;

$stmt= $dbh->prepare("INSERT INTO registrations (customerID, email, username, password, m firstName, lastName) values (:customerID, :email, :username, :password, :firstName, :lastName)");

我想要做的只是哈希密码,而不是其余的变量。它可能非常简单,但我无法弄清楚如何做到这一点!

1 个答案:

答案 0 :(得分:1)

您可以轻松使用

    $stmt= $dbh->prepare("INSERT INTO registrations (customerID, email, username, password, m firstName, lastName) values (:customerID, :email, :username, SHA1(:password), :firstName, :lastName)");

但是,出于安全原因,您应该考虑使用http://php.net/manual/de/function.password-hash.php(PHP> = 5.5)或特殊框架https://defuse.ca/php-pbkdf2.htm