在我们的应用程序中,我们将收到 png 图像以及大约 200 个字符字节的数组。我想用与该字节数组对应的文件名保存图像,但不是字节数组本身,因为我不想要 200 个字符的文件名。所以,我想我会将字节数组保存到数据库中,然后 MD5 得到一个短文件名。当需要显示特定图像时,我查找它的字节数组,MD5,然后查找该文件。
到目前为止,一切都很好。问题是两个不同的字节数组可能会散列到相同的 MD5。然后,一个文件将有效地覆盖另一个文件。或者他们可以吗?我想我的问题是
- 两个~200 char bytearrays MD5-hash 到同一个字符串吗?
- 如果可以的话,它是每 10 个宇宙时代一次的交易还是可以想象在我的应用程序中发生的事情?
- 是否有一个哈希算法会产生一个(比如说)32个字符的字符串,保证是唯一的?