【发布时间】:2017-07-19 00:42:55
【问题描述】:
我有一个带有示例用户数组的 for 循环,我想对密码进行 md5 处理,但问题是,它对密码进行了两次哈希处理。我只想要一次md5($_POST[2]);
user([userid, username, password]);
$num_fields =3;
for ($y = 1; $y < $num_fields; $y++) {
$password = md5($_POST[2]);
$_POST[2] = $password;
}
密码的示例输入为user,输出为
ee11cbb19052e40b07aac0ca060c23ee0d8d5cd06832b29560745fe4e1b941cf
代替
ee11cbb19052e40b07aac0ca060c23ee
我的解决办法是
for ($y = 1; $y < $num_fields; $y++) {
$password = md5($_POST[2]);
$_POST[2] = $password;
return $_POST[2];
}
但我不想要return $_POST[2]; 并打破循环以在循环内插入mysql。所以我的问题是,如何在没有返回的循环中执行一次 md5 并获得唯一的 md5 值?
【问题讨论】:
-
为什么在这里循环并尝试使用哈希而不是 md5。
-
md5()不再是不安全的了,请改用password_hash()和pasword_verify()。md5()现在很容易被解密。 -
@Nytrix 这只是为了学习登录
标签: php mysql for-loop hash md5