Tag: 一致哈希

MessageDigest在不同的计算机上散列不同

我遇到MessageDigest在不同计算机上返回不同哈希值的问题。 一台计算机在Windows Vista上运行32位Java,另一台在Mac OS上运行64位Java。 我不确定是不是因为MessageDigest是依赖于机器的,或者我需要在某处明确指定字符编码,或者可能是其他东西。 这是代码: public static boolean authenticate(String salt, String encryptedPassword, char[] plainTextPassword ) throws NoSuchAlgorithmException { // do I need to explcitly specify character encoding here? –> String saltPlusPlainTextPassword = salt + new String(plainTextPassword); MessageDigest sha = MessageDigest.getInstance(“SHA-512”); // is this machine dependent? –> sha.update(saltPlusPlainTextPassword.getBytes()); byte[] hashedByteArray = sha.digest(); // or… perhaps […]