在java对象中存储大十六进制数(md5)的最有效方法

kda*_*bir 3 java groovy md5

MD5考虑到以下用例,将文件总和存储在 java(或 groovy)对象中的最有效方式(性能和存储空间最佳)是什么:

  1. 我需要与数以千计的其他 md5 和进行比较。
  2. 我可能需要将其存储在 HSQLDB 中,以便可以group by根据 md5拉取记录
  3. 可以Map作为键存储在's 中

我试图避免将其存储String为字符串比较会更昂贵并占用更多空间。会BigInteger(string,radix)更有效率吗?另外,如果在数据库中持久化应该选择什么数据类型?

Mik*_*uel 5

创建一个包装 abyte[]并且不提供突变的类。如果您想将其用作映射中的键,那么它要么具有可比性,要么具有哈希码。使用 abyte[]您可以更轻松地从前 32 位计算简单的哈希码。