ash算法,又称散列算法,杂凑算法
它可以将一个长度不固定的数据,通过算法,获取其特征值生成一个固定的,较短的数据,压缩其文件标识....实现用一个较短的数据进行标识一个大数据标识.比如用32位字符串的md5,标识整个文件
我们可以自定义一个算法,将中文字符串,只获取拼音首字母的特征,转成hash:
"仙士可"=>'xsk'
"阿伟死了"...1亿次,非常不现实)
2:逆向困难,hash字符串不能直接被逆向推算出.
3:输入敏感,原始信息就算多了一个空格,也应该跟原来的字符串非常不一致
4:冲突避免,hash的数据应该尽可能避免冲突,均匀分布...,否则将失去hash本身的特性
目前最经典的hash算法有md5,time33,sha
在实际使用中,md5是字符串hash,并且性能较差,php在hashtable中hash计算使用的是time33算法...最后附带上使用php实现的各种流行hash算法
<?