Peut-être que le problème ne se situerait pas au niveau du cryptage, mais au niveau de la base de données. Est-ce une base MySQL, Oracle, autre ?
En effet, il ne faut pas stocker la chaine cryptée dans un champ de type Varchar ou Varchar2, qui est prévu pour des chaines contenant du texte, et non pas des champs contenant des caractères comme le zéro binaire ou le retour à la ligne.
Ou bien, le problème se situerait peut-être au niveau de la comparaison entre les deux résultats de cryptage.