我为1个字符串和2个long值(对于字符串和long的许多此类组合)生成了SipHash。我用了 -

Hasher hash = Hashing.sipHash24().newHasher().putUnencodedChars("abcd").putLong(123).putLong(123);


现在,我使用-将哈希值转换为字符串

String hashString = hash.hash().toString();


但是,我想要字符串的bytes数组,请问有什么办法,这样我就可以从该字符串中获取字节数组,就像从byte[] hashBytes = hash.hash().asBytes();获得的字节数组一样,我想转换字符串I从这些哈希到字节数组。

实际上,我意识到,byte数组仅使用8个字节的空间用于siphash,因为字符串的长度为18个字节。因此,我想将散列存储为字节数组会更加优化。

最佳答案

BaseEncoding.base16().lowerCase().decode(string)


应该将HashCode.toString()转换回您从asBytes()获得的字节数组。

09-30 15:48
查看更多