PHP 短HASH的实现方法

内容摘要
这篇文章主要为大家详细介绍了PHP 短HASH的实现方法,具有一定的参考价值,可以用来参考一下。

有的时候需要用HASH来对数据标注,PHP下无疑就是Md5了,不过呢如果这个哈希是给用户
文章正文

这篇文章主要为大家详细介绍了PHP 短HASH的实现方法,具有一定的参考价值,可以用来参考一下。

有的时候需要用HASH来对数据标注,PHP下无疑就是Md5了,不过呢如果这个哈希是给用户看的呢?总之试图实现4chan的tripcode(绊码)功能时候发现:

/**
 * 短HASH的实现
 *
 * CHash provides users with a fairly strong but short hash for identification
 * Based on MD5
 * @author php教程 www.idcnote.com
 **/
class stdHash{
    var $hashIn = '';
    function __construct($hashIn=''){
        $this->hashIn = $hashIn;
    }
    function hash($string){
        $cherryTable = Array('0'=>0,'1'=>1,'2'=>2,'3'=>3,'4'=>4,'5'=>5,'6'=>6,'7'=>7,'8'=>8,'9'=>9,'A'=>10,'B'=>11,'C'=>12,'D'=>13,'E'=>14,'F'=>15);
        $md = md5($string.$this->hashIn);$m="";
        for($i=0;$i<16;$i++){
            $m.=chr($cherryTable[$md[$i*2]]*16 + $cherryTable[$md[$i*2+1]]);
        }
        return preg_replace('~[N=]~','',str_rot13(base64_encode($m)));
    }
}

注:关于PHP 短HASH的实现方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!