At the moment I'm using version 11.2. A few days ago, after an update in my programs, I found errors. It turned out that the new version incorrectly computes the hash. I'm using method SHA256. And here is an example of computing a hash that differs from the result in the previous version.
(* 11.2 *)
Hash["¥"]
Out[..] := 756035385197879955
And the same in new version
(* 11.3 *)
Hash["¥"]
Out[..] := 756035385197879955
But for method SHA256
(* 11.2 *)
IntegerString[Hash["¥", "SHA256"], 16]
Out[..] := ac3ed5d81b09324e72933efee6365d9277132a857d324788842a83df908fe6b2
Another result for the new version
(* 11.3 *)
IntegerString[Hash["¥", "SHA256"], 16]
Out[..] := 6922e93e3827642ce4b883c756b31abf80036649d3614bf5fcb3adda43b8ea32
This works for characters whose code is greater than 127. Are there ways to solve this problem? (the result for the new version I tested in in the wolfram cloud)
Hash[ToString["¥", CharacterEncoding -> "UTF8"], ___], so patch the old code rather than patch newHash. Current behavior should be more robust and older had few undocumented issues/inconsistencies attached anyway. See this question and the discussion after the answer: https://mathematica.stackexchange.com/a/167639/5478 – Kuba Mar 12 '18 at 08:40