Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP安全哈希_Php - Fatal编程技术网

PHP安全哈希

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的小问题。我想我把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 = 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;