Che voi sappiate, è possibile crittografare dei dati in Java, usando qualche libreria a disposizione ?

Ad esempio io ho un certo numero di bytes di dati e voglio crittografarlo, con un algoritmo qualunque .... conoscete qualche libreria da usare ?

E l'MD5 si può usare con Java ?

Grazie a tutti....