Hash 番石榴版本之间的哈希问题

Hash 番石榴版本之间的哈希问题,hash,guava,sha256,Hash,Guava,Sha256,我使用guava 14进行字符串散列,如下所示: Hashing.sha256().newHasher().putString("String").hash().toString(); => 刚升级到guava16 调用此函数: Hashing.sha256().newHasher().putString(“String”,Charsets.UTF-8)。hash().toString()给了我一个不同的结果 => 我怀疑旧版本使用的是默认的字符集,但是在guava16上切换字符集并不能得到与

我使用guava 14进行字符串散列,如下所示:

Hashing.sha256().newHasher().putString("String").hash().toString();
=>

刚升级到guava16

调用此函数:
Hashing.sha256().newHasher().putString(“String”,Charsets.UTF-8)。hash().toString()
给了我一个不同的结果

=>


我怀疑旧版本使用的是默认的字符集,但是在guava16上切换字符集并不能得到与guava14相同的结果。我做错了什么?

正如Guava 15的文档中所述,旧的
putString(String)
方法的替代品是
putunecodedchars
正如路易斯所说,替代品是Hasher.putunecodedchars()。或者,您可以使用HashFunction界面上的快捷方式:

Hashing.sha256().hashUnencodedChars("String").toString();

哎呀,我一定错过了。塔克斯
b2ef230e7f4f315a28cdcc863028da31f7110f3209feb76e76fed0f37b3d8580
Hashing.sha256().hashUnencodedChars("String").toString();