Java 中的 CRC32 哈希

akh*_*akh 5 java hash crc32 android

我正在尝试在 java 中创建字符串的 crc32 哈希。我可以使用 java.util.zip.CRC32 来做到这一点。但我的要求是使用密钥创建字符串的 CRC32 哈希值。谁能告诉我该怎么做?提前致谢...

我现有的代码如下...

String a = "abcdefgh";
CRC32 crc = new CRC32();
crc.update(a.getBytes());

String enc = Long.toHexString(crc.getValue());
System.out.println(enc);
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 0

使用盐可确保散列字符串与使用其他盐或不使用盐时的散列值不同。

通常通过简单的串联来完成:

String a = "your string you want to hash" + "the salt";
Run Code Online (Sandbox Code Playgroud)

但这里有点令人惊讶:加盐通常是为了安全而进行的,而 CRC32 通常不用于加密,它是用于冗余检查或索引密钥的非安全哈希。