每次运行时字节数组的Java字符串更改

时间:2013-01-24 14:18:55

标签: java string hash byte

我遇到一个奇怪的问题,即将字符串转换为字节数组以对其进行哈希处理。现在,我的代码是这样的:

    String textToHash = "test"; 
    MessageDigest messageDigest = MessageDigest.getInstance("MD5");
    messageDigest.update(textToHash.getBytes("UTF-8"));
    hash = messageDigest.digest();

即使字符串相同,在不同的运行中,字节数组(从textToHash.getBytes("UTF-8")生成)也会发生变化。有时它会有一个值,有时它会改变,即使字符串是静态的。为什么会发生这种情况?如何让它可靠地散列字符串呢?

谢谢!

1 个答案:

答案 0 :(得分:1)