for 循环中的 Md5 PHP
Md5 inside a for loop PHP
我有一个带有示例用户数组的 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 在循环内插入目的而中断循环。所以我的问题是,如何在没有 return 的情况下循环一次 md5 并获得唯一的 md5 值?
你不需要循环。您不使用 $y
变量。条件中的变量 $num_fields
使循环 运行 两次(对于 $y
等于 1 和 2)。
这应该符合您的预期:
user([userid, username, password]);
$password = md5($_POST[2]);
$_POST[2] = $password;
更新
如果您出于某种原因需要该循环,只需在循环之前创建 md5。我将 $y
的初始化更改为 0,因为当 $num_fields
设置为 3 时,循环三次更有意义。但是你可以有我从示例中看不到的原因。
user([userid, username, password]);
$password = md5($_POST[2]);
$_POST[2] = $password;
$num_fields = 3;
for ($y = 0; $y < $num_fields; $y++) {
// Anything you wanted to loop
}
正如@nitrix 所说,md5 不再保存。但如果只是为了学习如何创建登录或不需要高安全性的项目,那么就可以了。
我有一个带有示例用户数组的 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 在循环内插入目的而中断循环。所以我的问题是,如何在没有 return 的情况下循环一次 md5 并获得唯一的 md5 值?
你不需要循环。您不使用 $y
变量。条件中的变量 $num_fields
使循环 运行 两次(对于 $y
等于 1 和 2)。
这应该符合您的预期:
user([userid, username, password]);
$password = md5($_POST[2]);
$_POST[2] = $password;
更新
如果您出于某种原因需要该循环,只需在循环之前创建 md5。我将 $y
的初始化更改为 0,因为当 $num_fields
设置为 3 时,循环三次更有意义。但是你可以有我从示例中看不到的原因。
user([userid, username, password]);
$password = md5($_POST[2]);
$_POST[2] = $password;
$num_fields = 3;
for ($y = 0; $y < $num_fields; $y++) {
// Anything you wanted to loop
}
正如@nitrix 所说,md5 不再保存。但如果只是为了学习如何创建登录或不需要高安全性的项目,那么就可以了。