我为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()
获得的字节数组。