我的猜测是您似乎正在将ASCII字节与Latin1字节进行比较。尝试切换
md.update(text.getBytes("iso-8859-1"), 0, text.length());对此
md.update(text.getBytes("ISO646-US"), 0, text.length());那可能会解决您的问题。
(或切换C#以使用Latin1)
程序中发生的事情
GetBytes是,根据编码,相同字符的方法将返回不同的值,因此我们漂亮的SHA1哈希算法将传递不同的参数,从而导致不同的返回值。



