PHP实现布隆过滤算法

2020年12月8日22:05:35

项目地址:https://gitee.com/zxadmin/phpCommonAlgorithms

布隆算法其实就是bitmap上支持字符串哈希

<?php

include_once './../src/Algorithm/BitMap.php';
include_once './../src/Algorithm/Hash.php';


include_once './Function.php';

use ZX\Algorithm\BitMap;
use ZX\Algorithm\Hash;

$data = [];
//这里模拟生成字符串,为了方便校验是否存在使用数字,你也可以自己伪造一些随机字符串
for ($index = 0; $index < 1000; $index++) { // $data[] = uniqid(microtime(true), true); $data[] = $index; } //注意:64位使用crc32算法,32位可能出现负整数 foreach ($data as $k => $v) { $v = crc32($v); // $v= Hash::BKDRHash($v); BitMap::addValue($v); } $rr = BitMap::exits(crc32(16)); if ($rr) { p('ok'); } else { p('no'); }

 

posted on 2020-12-10 11:05  zh7314  阅读(253)  评论(0编辑  收藏  举报