繁体   English   中英

PHP安全哈希

[英]PHP Secure Hashing

所以我对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 ; 如果不是(并且date变量的第一个字符等于31-60之间的任何值),则应用的算法应为HAVAL128,4

代码完全搞砸了。 我使用date函数生成整数,然后将它们进行比较,因为我想不出任何快速的方法(意味着这会改变)。

如果您只想比较该数组中的内容,则可以使用in_array()

$array = array(1,2,3,4);
$str = '1abcdef';
in_array($str[0], $array) // Returns TRUE;

http://uk1.php.net/in_array

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM