任意长度的输入, 固定长度的输出 ,该输出就是hash值,这种转换就是一种压缩映射,也就是hash值的空间远远小于输入的空间,
不同的输入可能散列成相同的输出,而不能从hash值来唯一的确定输入值。
<?php
function hashmd5($key) {
$md5 = substr(md5($key), 0, 8);
$seed = 31;
$hash = 0;
for($i=0; $i<8; $i++) {
$hash = $hash*$seed + ord($md5{$i});
$i++;
}
return $hash & 0x7FFFFFFFFFFF;
}
ECHO hashmd5('adeae')."<br>";
ECHO hashmd5('12233334feefwwf')."<br>";
ECHO hashmd5('45defww')."<br>";
得出结果