我正在使用guava 14来执行String散列,如下所示:
Hashing.sha256().newHasher().putString("String").hash().toString();
Run Code Online (Sandbox Code Playgroud)
=>
4d1ca6dce72e20ce214b706168340683bb6b571a7c977c1a9fe029a1cc1c4d06
Run Code Online (Sandbox Code Playgroud)
刚升级到guava16,
调用这个函数:
Hashing.sha256().newHasher().putString("String", Charsets.UTF-8).hash().toString()
给我一个不同的结果.
=>
b2ef230e7f4f315a28cdcc863028da31f7110f3209feb76e76fed0f37b3d8580
Run Code Online (Sandbox Code Playgroud)
我怀疑旧版本使用的是默认字符集,但是在guava16上切换Charsets不会给我与guava14相同的结果.我在这做错了什么?