java - 将md5转换为Java中的两个long变量

标签 java hash md5 long-integer

我正在尝试对一些值进行散列处理,并将散列值用作我的数据库中的索引。没有冲突非常重要,这就是我使用 md5 的原因。拥有 128 位,给了我更多的空间,我不必担心碰撞(我知道 md5 不是碰撞安全的)。

无论如何,我如何将 md5 的结果存储在数据库中,以便我可以对其进行索引并快速检索?我正在考虑有两个 Long 变量,其中一个将保存前 64 位的值,另一个保存第二个 64 位的值,并将这两个键用作我的数据库的索引。但我需要一种快速的方法来执行此操作...最快的方法是什么?

我不认为将 md5 散列值存储为字节数组在我需要索引时会有多大帮助。

最佳答案

只需将其存储为字符串 (VARCHAR) 并让您的数据库对其进行索引。这是最简单的解决方案,您将从索引中获得性能提升。

关于java - 将md5转换为Java中的两个long变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12713938/

相关文章:

java - 如何在 Java 中存储(和读取)大型数组/映射/其他内容?

java - 为什么 LibSvm 准确率没有超过 50%?

java - 如何在谷歌应用程序引擎中动态添加任务到队列中?

algorithm - 什么样的哈希算法用于生成 12 个字符长度的字母数字?

hash - 从大型数据集中删除重复行

python - 搜索并打印具有相同 MD5 的文件

java - 如何在 Java 中生成 MD5 哈希?

java - Android Studio : how to add and use project as library, 不是模块

javascript - 如何在 Java 中复制 javascript sha256 哈希并获得相同的十六进制输出?

performance - 从python中的列表中获取哈希的最快方法