php 账号与密码比对,Php - 将密码与root密码进行比较

你应该考虑用盐来哈希密码。 md5()算法并不是真正推荐用于安全环境,但至少可以使工作更加困难。

在数据库中保存密码时,您应该执行类似的操作

$salt = 'dhg1d9h12h1029he01h2e1'; // Just have something random and long here

$hashedpassword = md5($salt.md5($password, true)); // Or any other combination you like here

然后,您可以将$ hashedpassword保存到数据库中,如下所示:

mysql_query(sprintf("UPDATE Login SET pwd = '%s' WHERE username = '%s'",

mysql_real_escape_string($hashedpassword),

mysql_real_escape_string($username)

));然后,当您想要检查密码是否匹配时,执行与上述完全相同的步骤来计算$ hashedpassword值,但传入其测试密码,然后将其与数据库中的内容进行比较,例如:

$result = mysql_query(sprintf("SELECT (pwd = '%s') AS authenticated FROM Login WHERE username = '%s'",

mysql_real_escape_string($hashedpassword),

mysql_real_escape_string($username)

));

$row = mysql_fetch_assoc($result);

if ($row['authenticated']) {

echo "Success!";

}Aaaanyway,你看起来刚刚开始,所以我会非常小心你如何使用实际的密码验证。根据我的理解,bcrypt2是您想要使用的而不是md5,但我将让您阅读如何在PHP中执行此操作;你一定要读完这些东西。

我还会检查登录表的结构。您可能需要多个用户,否则为什么不将哈希存储在代码本身而不是数据库中呢?

此外,您可以通过检查$ _SERVER ['REQUEST_METHOD'] =='POST'来确定是否有人提交表单或获取表单,这比使用get URL参数更清晰(尽管我猜其他人没有任何问题)方法...)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值