I problemi dei set di caratteri sono confusi e complicati da soli, ma soprattutto devi ricordare i nomi esatti dei tuoi set di caratteri. È vero "utf8"? Oppure "utf-8"? O forse "UTF-8"? Durante la ricerca di esempi di codice in Internet vedrai tutto quanto sopra. Perché non solo farli nominare costanti e usarli Charset.UTF8?
MessageDigest#getInstance().