用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3980|回复: 2
收起左侧

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

[复制链接]
发表于 2011-4-28 11:55:37 | 显示全部楼层 |阅读模式
大概懂,但有一两处想问一下
PHP复制代码
 
    /**
     * 对字符串进行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 这东西看上去是个常量,它是在哪里声明的?
发表于 2011-4-28 12:22:30 | 显示全部楼层
回复 1# 刀客孩哥


   那个常量应该在CI的常量配置文件里,想弄明白static就去百度查呀,
主要是不用实例化类了,可以直接 用::来引用,我不知道这个类明是什么,假如说是hash的话,那么就可以直接hash::do_hash()来调用,不用 先$h = new hash();$h->do_hash()了。学会自己找答案~~~
发表于 2011-4-28 23:11:15 | 显示全部楼层
呵呵,关注下,我们下载的项目就是以这种加密方式的

本版积分规则