Вы видите результаты вызова byte[].toString()
- который не показывает фактический хэш данных. В основном вы получаете строку, которая показывает, что вы вызвали toString
в байтовом массиве (это часть [B
), а затем хэш, возвращаемый Object.hashCode()
(это шестнадцатеричное значение после @
). Этот хеш-код не учитывает данные в массиве.
Попробуйте
System.out.println(Arrays.toString(md5.digest(byteArrayToDigest)));
чтобы увидеть фактические данные .
РЕДАКТИРОВАТЬ: Быстрое примечание о создании дайджеста MD5 из строки данных - вы всегда должны использовать одну и ту же кодировку, явно, при хешировании. Например:
byte[] hash = md5.digest(text.getBytes("UTF-8"));