当前位置: 编程技术>php
php字符串哈希函数算法实现代码
来源: 互联网 发布时间:2014-10-07
本文导语: php字符串的哈希函数到底有什么用,这个用处呢,就是将字符串转换成数字,同时让所得数字尽量平均的分布在容器中,换句话说就是让字符串得到相同数字这种情况尽可能少的出现。当然咯...容器太小,内容太多那么再好的...
php字符串的哈希函数到底有什么用,这个用处呢,就是将字符串转换成数字,同时让所得数字尽量平均的分布在容器中,换句话说就是让字符串得到相同数字这种情况尽可能少的出现。当然咯...容器太小,内容太多那么再好的算法也没法避免出现冲突 = =b
网上找到的哈希函数基本上都是C算法的。
最后只好从C and Java 算法中整理 and 测试了这些 PHP中的实现方法。
有几个经典的算法在 PHP 下会有问题,字符串一长就会全部取 0,那些我就没有再列出来了。
代码:
PHP:
代码示例:
function DJBHash($str) // 0.22
{
$hash = 0;
$n = strlen($str);
for ($i = 0; $i
{
$hash = 0;
$n = strlen($str);
for ($i = 0; $i