我基本上是在准备要放入数据库的短语,它们可能格式不正确,所以我想存储它们的短散列(我将简单地比较它们是否存在,所以散列是理想的)。
我假设 MD5 在 100,000 多个请求上相当慢,所以我想知道散列短语的最佳方法是什么,也许推出我自己的散列函数或者hash('md4', '...'最终使用会更快?
hash('md4', '...'
我知道 MySQL 有 MD5(),所以这将在查询端补充一点速度,但也许 MySQL 中还有一个更快的散列函数,我不知道它是否适用于 PHP..
CRC32 非常快,并且有一个功能:http ://www.php.net/manual/en/function.crc32.php
但是您应该知道,CRC32 将比 MD5 甚至 SHA-1 哈希有更多的冲突,这仅仅是因为减少了长度(32 位对比 128 位和 160 位)。但是,如果您只想检查存储的字符串是否已损坏,则可以使用 CRC32。