我试图弄清楚如何使用加密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)");
我想要做的只是哈希密码,而不是其余的变量。它可能非常简单,但我无法弄清楚如何做到这一点!
答案 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