Java 从多个字符串生成唯一密钥/哈希
我有一组相当大的数据来自外部来源(通过excel或csv)。它没有与每个记录关联的唯一键。基于一组3-4列数据,每行都具有唯一性。我正在解析这些数据并将其插入数据库 基于这些唯一列生成哈希代码或某个键的最佳方法是什么?基于这些列,我需要它是唯一的,因为我需要将它与来自另一个源的另一组数据进行比较 我可以直接压缩数据并将其用作密钥,但我更喜欢在加载数据时使用较小的生成哈希代码(sha1、md5,无论什么)作为数据库中的密钥 我倾向于使用ApacheCommonsDigestUtils并传递一个串接的列来生成SHA1代码,但我想知道这是否有点过分Java 从多个字符串生成唯一密钥/哈希,java,Java,我有一组相当大的数据来自外部来源(通过excel或csv)。它没有与每个记录关联的唯一键。基于一组3-4列数据,每行都具有唯一性。我正在解析这些数据并将其插入数据库 基于这些唯一列生成哈希代码或某个键的最佳方法是什么?基于这些列,我需要它是唯一的,因为我需要将它与来自另一个源的另一组数据进行比较 我可以直接压缩数据并将其用作密钥,但我更喜欢在加载数据时使用较小的生成哈希代码(sha1、md5,无论什么)作为数据库中的密钥 我倾向于使用ApacheCommonsDigestUtils并传递一个串接
有什么建议吗?我不是在寻找超级加密安全-只是一些独特的东西来比较。字符串的长度是否相同?您应该参考以下答案:串联是个坏主意:12、34、56将生成与1234、56相同的哈希。为什么不生成一个顺序ID作为主键,但在与另一组数据进行比较时比较这3列?将3个字符串与3个其他字符串进行比较不需要加密哈希。作为唯一列的字符串长度相同,并且应该完全相同。我可以把这三个字符串相互比较一下。这里涉及到很多数据,所以我很好奇是否有更快的方法(比如对列进行散列)来比较每个源的数据。