每次运行时 Java 字符串到字节数组的变化

标签 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") 生成)也会发生变化。有时它只有一个值,有时即使字符串是静态的,它也会改变。为什么会发生这种情况以及如何使其可靠地散列字符串?

谢谢!

最佳答案

关于每次运行时 Java 字符串到字节数组的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14503453/

相关文章:

java - 内存不足错误 : Java heap space when trying to read 5 ints into an array

java - 返回与函数调用者类型相同的对象

java - 列表列表到 MapList Java 8 Lambda 的映射列表

c - 使用将字符串分成段落的 C 程序时遇到问题。句子和单词

arrays - 如何在没有循环的情况下初始化哈希值?

sql-server - 从 SQL Server 和 Oracle 获取哈希值并比较它们?

Java 错误 : The method getMethod(String, Class<boolean>) is undefined for type Class

Mysql拆分字符串并选择结果

java - 如何从字符串生成Java源代码?

arrays - 在Perl 6中,我可以使用数组作为哈希键吗?