gpt4 book ai didi

md5 - 散列函数保证唯一?

转载 作者:行者123 更新时间:2023-12-01 06:54:54 27 4
gpt4 key购买 nike

在我们的应用程序中,我们将收到 png 图像以及约 200 个字符的字节数组。我想用与该字节数组相对应的文件名保存图像,而不是字节数组本身,因为我不想要 200 个字符的文件名。所以,我认为我会将字节数组保存到数据库中,然后对其进行 MD5 以获取短文件名。当需要显示特定图像时,我会查找它的字节数组、MD5,然后查找该文件。

到现在为止还挺好。问题是两个不同的字节数组可能会散列到相同的 MD5。然后,一个文件将有效地覆盖另一个文件。或者他们可以吗?我想我的问题是

  • 两个 ~200 个字符的字节数组 MD5-hash 可以分解为同一个字符串吗?
  • 如果可以的话,这是宇宙中每 10 个时代一次的交易还是可以想象在我的应用程序中发生的事情?
  • 是否有散列算法会产生一个(比如说)32 个字符的字符串,保证是唯一的?
  • 最佳答案

    从逻辑上讲不可能从 200 字节的源中获得 32 字节的代码,这在所有可能的 200 字节源中是唯一的,因为与 32 字节相比,您可以在 200 字节中存储更多信息。

    他们唯一的异常(exception)是存储在这 200 个字节中的信息也适合 32 个字节,在这种情况下,您的源日期格式将非常低效且浪费空间。

    关于md5 - 散列函数保证唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798529/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com