Razred MessageDigest vsebuje zaščiteni konstruktor, zato njegovega izvoda ne moremo ustvariti s klicem konstruktorja, ampak namesto tega uporabimo klic metode getInstance(), kateri kot argument podamo algoritem, ki se bo uporabljal za računanje hash kode (vsi možni algoritmi so opisani v specifikaciji JCA).
Takoj zatem z metodo reset() vzpostavimo začetno stanje in dodamo sporočilo (v našem primeru gre za niz znakov, ki bi lahko, denimo, predstavljali geslo) v generator - klic metode update(). Na koncu pa je treba še ustvariti zgoščeno kodo s klicem metode digest(), ki nam vrne tabelo zlogov (bytes).