如何从Java中的唯一大字符串生成唯一数字或代码?

时间:2019-01-01 05:27:24

标签: java

我有一张桌子,如下:

+---------------+--------------+
| StringColumn  | DoubleValues |
+---------------+--------------+
| string value 1| val1         |
| string value 2| val2         |
| string value 3| val3         |
| string value 4| val4         |
| string value 5| val5         |
| string value 6| val6         |
| string value 7| val7         |
| string value 8| val8         |
| string value 9| val9         |
+---------------+--------------+

在上表中,StringColumn字符串被保证是唯一的。但是,由于它们可能会大量生产,因此我想为StringColumn中的每个值生成唯一的哈希字符串。然后,使用此哈希字符串在HashMap中转换上表,以减小导出到文件中时HashMap对象的大小。

我应该使用哪种算法来生成哈希字符串,以便在生产中可以使用相同的算法来生成相同的哈希字符串,然后检查导出的哈希图以进行查找?

注意:如果字符串不能从哈希字符串中复制出来,则可以。唯一的限制是,可以在哈希图中进行新的字符串查找。

到目前为止我做了什么?

我尝试为每个字符串生成sha256哈希,然后将其添加到哈希图中。但是从我在互联网上找到的文章来看,生成sha256散列似乎很慢。请提出一个更好,更快速的解决方案。

0 个答案:

没有答案