我为此目的使用了md5()
// username and password sent from form
$username=$_POST['myusername'];
$password=$_POST['mypassword'];
$encrypted_password=md5($password);
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$encrypted_password'";
$result=mysql_query($sql);
但我听说这不安全。 我是初学者所以请建议我一个好的密码加密方法?如果截获的帖子数据会以纯文本形式显示吗?
答案 0 :(得分:1)
我是初学者所以请建议我一个好的密码加密方法
使用crypt()
代替md5()
<?php
$hashed_password = crypt('mypassword'); // let the salt be automatically generated
if (crypt($user_input, $hashed_password) == $hashed_password) {
echo "Password verified!";
}
?>
中的一些示例
如果截获的帖子数据也会以纯文本形式显示?
Ofcourse!如果您真的担心这一点,请在您的域中配置 SSL
证书。
答案 1 :(得分:1)
在PHP 5.5中,您可以使用新的password_hash
$hash = password_hash($password, PASSWORD_DEFAULT);
在旧版本中,有一个兼容性层执行相同的操作:https://github.com/ircmaxell/password_compat