通过在图像内容上运行MD5来为随机图像生成唯一文件名的任何警告?

Ben*_*oop 6 random hash filenames md5 image

我想为每个图像生成唯一的文件名,所以我使用MD5来制作文件名.由于两个相同的图像可能来自不同的位置,我想实际上将哈希基于图像内容.这有什么警告?

(使用PHP5执行此操作以获得它的价值)

Gre*_*ill 5

这是一个很好的方法.两个不同的图像可能散布到相同的值的可能性非常小,但实际上您的数据中心更有可能遭受小行星的直接击中.

需要注意的是,删除图像时应该小心.如果删除指向某个文件的图像记录并删除该文件,则可能正在删除具有指向同一图像的不同记录的文件(例如,属于不同的用户).


小智 2

如果您同意 32 个字符的文件名,我觉得没问题。

编辑:我不会使用它作为(例如)FBI 恐怖分子照片中央数据库的基础,因为有充分动机的攻击者可能会想出一张与现有图像具有相同 MD5 的图像。如果这种情况,那么您可以使用 SHA1,这更安全。