[英]How to get final value from a for loop?
我有一个像Abcd123这样的密码,我首先使用shas256进行了哈希处理,然后在该哈希中添加了一个盐,最后我使用loop制作了一个复杂的密码。我的代码如下:-
$password = 'Abcd123';
$salt = '1e841d1e9b09ae';
$loop = hash('sha256', $password. $salt);
for($round = 0; $round < 65536; $round++)
{
$loop = hash('sha256', $password. $salt);
}
echo $loop;
但是现在的问题是,不管我是否删除整个for循环代码
for($round= 0; $round < 65536; $round++)
{
$loop = hash('sha256,$password . $salt')
}
或添加我的回声$ loop; 产生相同的结果家伙:(我的意思是这就像我的for循环没有完成其工作!我该如何解决这个问题?
您只是一遍又一遍地重复同一步骤,但没有继续先前的结果。 您将结果存储在变量$loop
,但你不使用该变量作为输入的下一个步骤。
您可能想做这样的事情:
$password = 'Abcd123';
$salt = '1e841d1e9b09ae';
for($round = 0; $round < 65536; $round++)
{
$password = hash('sha256', $password. $salt);
}
echo $password;
但是请注意,使用PHP的内置函数password_hash()可能更容易,更不易出错,因此更安全。
好吧,我想您可能还要进行更多调试。 您是否尝试过只运行一次:
$loop = hash('sha256,$password . $salt');
看看会发生什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.