|
有的时候需要用HASH来对数据标注,PHP下无疑就是Md5了,不过呢如果这个哈希是给用户看的呢?总之试图实现4chan的tripcode(绊码)功能时候发现:
/**
* 短HASH的实现
*
* CHash provides users with a fairly strong but short hash for identification
* Based on MD5
* @author 脚本之家 jb51.cc jb51.cc
**/
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)));
}
}
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|