Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从多个字符串生成唯一密钥/哈希_Java - Fatal编程技术网

Java 从多个字符串生成唯一密钥/哈希

Java 从多个字符串生成唯一密钥/哈希,java,Java,我有一组相当大的数据来自外部来源(通过excel或csv)。它没有与每个记录关联的唯一键。基于一组3-4列数据,每行都具有唯一性。我正在解析这些数据并将其插入数据库 基于这些唯一列生成哈希代码或某个键的最佳方法是什么?基于这些列,我需要它是唯一的,因为我需要将它与来自另一个源的另一组数据进行比较 我可以直接压缩数据并将其用作密钥,但我更喜欢在加载数据时使用较小的生成哈希代码(sha1、md5,无论什么)作为数据库中的密钥 我倾向于使用ApacheCommonsDigestUtils并传递一个串接

我有一组相当大的数据来自外部来源(通过excel或csv)。它没有与每个记录关联的唯一键。基于一组3-4列数据,每行都具有唯一性。我正在解析这些数据并将其插入数据库

基于这些唯一列生成哈希代码或某个键的最佳方法是什么?基于这些列,我需要它是唯一的,因为我需要将它与来自另一个源的另一组数据进行比较

我可以直接压缩数据并将其用作密钥,但我更喜欢在加载数据时使用较小的生成哈希代码(sha1、md5,无论什么)作为数据库中的密钥

我倾向于使用ApacheCommonsDigestUtils并传递一个串接的列来生成SHA1代码,但我想知道这是否有点过分


有什么建议吗?我不是在寻找超级加密安全-只是一些独特的东西来比较。

字符串的长度是否相同?您应该参考以下答案:串联是个坏主意:12、34、56将生成与1234、56相同的哈希。为什么不生成一个顺序ID作为主键,但在与另一组数据进行比较时比较这3列?将3个字符串与3个其他字符串进行比较不需要加密哈希。作为唯一列的字符串长度相同,并且应该完全相同。我可以把这三个字符串相互比较一下。这里涉及到很多数据,所以我很好奇是否有更快的方法(比如对列进行散列)来比较每个源的数据。