用于PHP的循环中的Md5
我有一个示例用户数组的for循环,我想md5密码,但问题是,它将密码散列两次。我只想要一次用于PHP的循环中的Md5,php,mysql,for-loop,hash,md5,Php,Mysql,For Loop,Hash,Md5,我有一个示例用户数组的for循环,我想md5密码,但问题是,它将密码散列两次。我只想要一次md5($\u POST[2]) 而不是 ee11cbb19052e40b07aac0ca060c23ee 我的解决办法是 for ($y = 1; $y < $num_fields; $y++) { $password = md5($_POST[2]); $_POST[2] = $password; return $_POST[2
md5($\u POST[2])代码>
而不是
ee11cbb19052e40b07aac0ca060c23ee
我的解决办法是
for ($y = 1; $y < $num_fields; $y++) {
$password = md5($_POST[2]);
$_POST[2] = $password;
return $_POST[2];
}
($y=1;$y<$num_字段;$y++)的{
$password=md5($_POST[2]);
$\u POST[2]=$密码;
返回$_POST[2];
}
但是我不希望返回$\u POST[2]代码>并在循环内中断循环,以便于mysql插入。所以我的问题是,如何在循环中使用md5一次而不返回,并获得唯一的md5值?您不需要循环。您不使用$y
变量。条件中的变量$num_fields
使循环运行两次(对于$y
等于1和2)
这应该满足您的期望:
user([userid, username, password]);
$password = md5($_POST[2]);
$_POST[2] = $password;
更新
如果出于某种原因需要该循环,只需在循环之前创建md5即可。我将$y
的初始化更改为0,因为当$num\u 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
}
user([userid,username,password]);
$password=md5($_POST[2]);
$\u POST[2]=$密码;
$num_字段=3;
对于($y=0;$y<$num_字段;$y++){
//任何你想循环的东西
}
正如@nitix所说,md5不再是储蓄。但是,如果它只是为了学习如何创建登录名或不需要高安全性的项目,那么也没关系。为什么在这里循环并尝试使用哈希而不是md5。md5()
不再安全,请改用password\u hash()
和pasword\u verify()
md5()
现在很容易解密。@Nytrix这只是为了学习login@MarkValenzuela如果这是可行的,你能接受提供的答案吗?你知道,这个网站就是基于这个。
user([userid, username, password]);
$password = md5($_POST[2]);
$_POST[2] = $password;
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
}