最初的任务是处理图像,散列它,使一些繁重的图像工作并存储此哈希并将结果存储在数据库中, 在具有相同图像的下一个请求期间,我想比较图像哈希与数据库中的哈希值,并加载数据库缓存结果以减少繁重的工作量。
所以问题是,哈希是什么?用什么哈希? 我看到了好的php实现的phash,但似乎它很适合进行相似性检查,但我们需要完全匹配。 Phash是否适用于精确的东西呢?
谢谢!
答案 0 :(得分:1)
PHP为此提供了内置函数,这可能是最简单的解决方案:
$hash = hash_file("sha1", '/path/to/image');
您可以使用此检查进行完全匹配。碰撞的可能性很小,但您可以通过在比较中使用文件路径或数据库ID来帮助缓解这种情况。
此similar question中的答案提供了更多选项。