Это просто разные схемы для представления символов Unicode.
Оба имеют переменную длину - UTF-16 использует 2 байта для всех символов в базовой многоязычной плоскости (BMP), которая содержит большинство символов общего пользования..
UTF-8 использует от 1 до 3 байтов для символов в BMP, до 4 для символов в текущем диапазоне Unicode от U + 0000 до U + 1FFFFF, и расширяется до U + 7FFFFFFF, еслиэто когда-либо становится необходимым ... но, в частности, все символы ASCII представлены одним байтом каждый.
Для целей дайджеста сообщения не имеет значения, какой из них вы выберете, при условии, что каждый, кто пытаетсядля воссоздания дайджеста используется та же опция.
См. на этой странице для получения дополнительной информации о UTF-8 и Unicode.
(Обратите внимание, что все символы Java представляют собой код UTF-16точки в BMP; для представления символов выше U + FFFF необходимо использовать суррогатные пары в Java.)