在Java中将md5转换为两个长变量

时间:2012-10-03 17:42:18

标签: java hash md5 long-integer

我正在尝试散列某些值,并使用散列值作为数据库中的索引。没有碰撞是非常重要的,这就是为什么我要使用md5。有128位,给了我更多的空间我不需要担心碰撞(我知道md5不是碰撞安全的)。

无论如何,如何将md5的结果存储在数据库中,以便我可以将其编入索引并快速检索?我想有两个Long变量,其中一个将保存前64位的值,另一个保持第二个64位,并使用两个键作为我的数据库的索引。但我需要一个快速的方法来做到这一点......最快的方法是什么?

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

1 个答案:

答案 0 :(得分:3)

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