刀客孩哥 发表于 2011-4-28 11:55:37

想弄明白对字符串hash加密的静态函数do_hash()

大概懂,但有一两处想问一下

    /**
   * 对字符串进行hash加密
   *
   * @access public
   * @param string $string 需要hash的字符串
   * @param string $salt 扰码
   * @return string
   */
    public static function do_hash($string, $salt = NULL)
    {

if(null === $salt)

{

    $salt = substr(md5(uniqid(rand(), true)), 0, ST_SALT_LENGTH);

}

else

{

    $salt = substr($salt, 0, ST_SALT_LENGTH);

}

   
return $salt . sha1($salt . $string);
    }




1.把此方法弄成静态的意义何在?

2.ST_SALT_LENGTH 这东西看上去是个常量,它是在哪里声明的?

jeongee 发表于 2011-4-28 12:22:30

回复 1# 刀客孩哥


   那个常量应该在CI的常量配置文件里,想弄明白static就去百度查呀,
主要是不用实例化类了,可以直接 用::来引用,我不知道这个类明是什么,假如说是hash的话,那么就可以直接hash::do_hash()来调用,不用 先$h = new hash();$h->do_hash()了。学会自己找答案~~~

zfm1988 发表于 2011-4-28 23:11:15

呵呵,关注下,我们下载的项目就是以这种加密方式的
页: [1]
查看完整版本: 想弄明白对字符串hash加密的静态函数do_hash()