我有一个存储一些数据位置的数据库。为简单起见,让我们制作它
Resource
----------
id (PK)
resourceLocation
在我用 Java 编写的应用程序中,我所拥有的只是存储在resourceLocation
. 仅使用此二进制数据,我需要某种方法来从数据库中获取此记录。
我唯一能想到的就是这样的事情。Resource
在名为 md5的表中添加一个新列。这将存储位于 resourceLocation 的文件的 MD5。
Resource
----------
id (PK)
resourceLocation
md5
然后在我的代码中,当我只有二进制数据时,我可以简单地获取数据的 MD5 并能够在数据库中找到记录。
我对这种方法有几个问题。首先,谁能想到更好的方法来做到这一点。其次,是否有比 MD5 更好的散列算法用于此目的。我担心我最终可能会创建 2 个创建相同 MD5 哈希的文件。如果发生这种情况,我的方法就失败了。