PHP安全哈希
所以我有一个关于PHP的小问题。我想我把foreach循环弄乱了一点。代码如下:PHP安全哈希,php,Php,所以我有一个关于PHP的小问题。我想我把foreach循环弄乱了一点。代码如下: <?php error_reporting(0); class Hash{ public function hashing($password,$hashsum) { $iter = date('sh'); $poyl = array($iter,strrev($iter)); foreach ($poyl as $key) { $itg =
<?php
error_reporting(0);
class Hash{
public function hashing($password,$hashsum)
{
$iter = date('sh');
$poyl = array($iter,strrev($iter));
foreach ($poyl as $key) {
$itg = array('1','2','3','4','5'); # if == any array element
foreach($itg as $v){
if ($key == $v){ # has to be checked here
$algo = 'TIGER128,3';
} elseif ($key == rand(31,60)){
$algo = 'HAVAL128,4';
} # else
}
} # foreach
return hash($algo,$password.strtok($password,'7'));
}
}
$obj = new Hash();
print $obj->hashing('text',hash($algo,$password.strtok($password,'7')));
我在这里的目标是:这应该是一个计算半多态散列值的类。为了让这种错误的多态性起作用,我需要至少有两种不同的散列算法。之后将考虑建立与数据库的依赖关系和相关性
因此,我的问题是,我需要执行一个检查,以确定本例中的第一个字符整数是否等于$itg数组中的任何元素,或者它是否等于范围为1-30的任何数字。如果是,算法将为TIGER128,3;如果不是,并且日期变量的第一个字符等于31-60之间的任何值,则应用的算法应为128,4
代码完全搞乱了。我正在使用date函数生成整数,并在之后进行比较,因为我想不出任何速度如此之快的东西意味着这将被更改。如果您只想比较该数组中的内容,可以在\u数组中使用
我想比较一下$key是等于1-30还是31-60。如果$key>=1&&$key,你就不能这样做吗?呃,对不起,我的错。我觉得很累。谢谢:哈哈,你也许可以用我提到的in_数组替换foreach$itg为$v{,它看起来非常干净。你到底想在这里实现什么,为什么?
$array = array(1,2,3,4);
$str = '1abcdef';
in_array($str[0], $array) // Returns TRUE;