Байты, генерируемые MessageDigest, не обязательно представляют печатные символы. Вы должны отобразить числовое значение каждого байта или преобразовать массив байтов в строку Base64, чтобы иметь что-то для печати.
См. apache commons-codec , чтобы получить реализацию Base64.
Два исключения, которые вы вынуждены обрабатывать, никогда не должны возникать, потому что UTF-8 гарантированно поддерживается любой JVM, а алгоритм MD5 также изначально поддерживается JVM. Таким образом, вы должны заключить код в блок try catch следующим образом:
try {
byte[] bytesOfchat_key = "lol".getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] Digest = md.digest(bytesOfchat_key);
}
catch (NoSuchAlgorithmException e) {
throw new RuntimeException("something impossible just happened", e);
}
catch (UnsupportedEncodingException e) {
throw new RuntimeException("something impossible just happened", e);
}