Я использую следующий метод, чтобы получить правильную строку хеша MD5 (и она никогда не давала мне «отрицательное» значение):
public static String createMD5Hash(String input) {
try {
MessageDigest m = MessageDigest.getInstance("MD5");
byte[] out = m.digest(input.getBytes());
return new String(Base64.encodeBase64(out));
} catch (NoSuchAlgorithmException e) {
return null;
}
}
Обратите внимание, что Base64 - это класс из Apache Commons:
import org.apache.commons.codec.binary.Base64;