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

标签 java groovy md5

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

  1. 我需要与其他数千个 md5 和进行比较。
  2. 我可能需要将其存储在 HSQLDB 中,以便可以根据 md5 提取/group by
  3. 可以作为键存储在Map

我试图避免将其存储为 String,因为 String 比较的成本更高并且占用更多空间。 BigInteger(string,radix) 会更有效率吗?还有,持久化到数据库应该选择什么数据类型?

最佳答案

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

关于java - 在java对象中存储大十六进制数(md5)的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539898/

相关文章:

intellij-idea - 如何在 WebStorm 中安装 Groovy 插件?

groovy - 在gradle自定义插件中添加Jar依赖

java - 在Optional中使用consumer并抛出异常

java - jQuery 地址 - 表单提交后重定向

java - 我应该在 grails 2.0 中使用哪个 paypal/payment 插件?

mysql - 使用 md5 哈希作为音频链接/src

java - BaseX XML 数据库代码

php - 请评论这种存储用户密码的方法...

Java 和 HSQLDB INSERT TO 问题

java - 在 Blackberry ListField 中选择一个项目