Ho un piccolo problema con un programma che sto sviluppando in EJB 3.0.
In pratica quando il sistema aggiunge un nuovo utente, prima di inserire la password nel DB MySql, la cripta con MD5.

codice:
	private String cryptPassword(final String password) {
		        MessageDigest md=null;
		        try {
		            //we use MD5 Algorithm
		            md = MessageDigest.getInstance("MD5");
		        } catch (NoSuchAlgorithmException ex) {
		            ex.printStackTrace();
		        }
		        md.update(password.getBytes());
		        return new String(md.digest());
     }
Quando un utente fa il login il sistema prende la password inserita dall'utente la cripta e la confronta con quella giā criptata conservata nel DB.

Sembrava andare tutto ok, fin quando per caso non ho usato la password: "direttore".

In pratica usando nel prompt-msdos l'algoritmo MD5 con input "direttore" mi restituisce questa cosa
codice:
āLa☺ ×fá`žeĻ☼â♫&
Mente nel DB se accedo tramite MySql Administrator trovo solo questo:


Non succede con le altre password provate fin'ora.
Come mai? E' lo spazio che crea problemi? Sono quei caratteri speciali? Uso male l'algoritmo MD5? come risolvo?

Aiutatemi per favore

NB: nel DB la password viene memorizzata come VARCHAR