我已经为 1 个字符串和 2 个长值(对于许多此类字符串和长值的组合)生成了 SipHash。我用过 -
Hasher hash = Hashing.sipHash24().newHasher().putUnencodedChars("abcd").putLong(123).putLong(123);
现在我使用 - 将此哈希转换为字符串
String hashString = hash.hash().toString();
但是,我想要字符串的字节数组,有什么办法可以让我能够从这个字符串中获取字节数组,就像从 byte[] hashBytes 中获取的字节数组一样= hash.hash().asBytes();
我想将从这些哈希值中获得的字符串转换为字节数组。
实际上我意识到字节数组只使用了 siphash 的 8 字节空间,而字符串的长度是 18 字节。所以,我想将哈希存储为字节数组会更加优化。
最佳答案
BaseEncoding.base16().lowerCase().decode(string)
应该将 HashCode.toString()
转换回您从 asBytes()
获得的字节数组。
关于java - Siphash tostring 和 getBytes(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429337/