Сначала вам нужно получить byte[]
вывод MessageDigest
:
byte[] bytes = hash.digest();
Вы не можете легко распечатать это (например, с new String(bytes)
), потому что оно будет содержать двоичный файл, которыйне будет иметь хороших выходных представлений.Вы можете преобразовать его в шестнадцатеричное для отображения, однако, как это:
StringBuilder sb = new StringBuilder(2 * bytes.length);
for (byte b : bytes) {
sb.append("0123456789ABCDEF".charAt((b & 0xF0) >> 4));
sb.append("0123456789ABCDEF".charAt((b & 0x0F)));
}
String hex = sb.toString();