Java calculer représentation hexadécimale d'un condensé SHA-1 d'une Chaîne

Je suis stocker le mot de passe utilisateur sur la db comme un hash sha1.

Malheureusement, je reçois étrange réponses.

Je suis stocker la chaîne de caractères comme ceci:

MessageDigest cript = MessageDigest.getInstance("SHA-1");
              cript.reset();
              cript.update(userPass.getBytes("utf8"));
              this.password = new String(cript.digest());

Je voulais quelque chose comme ceci -->

aff --> "0c05aa56405c447e6678b7f3127febde5c3a9238"

plutôt que

aff --> �V@\D~fx����:�8

  • Remarque: vous ne devriez pas utiliser sha1 ou comme hachage hachage des mots de passe. Vous devez utiliser un hachage de mot de passe comme bcrypt ou scrypt.
  • Remarque: vous ne devez pas être le hachage des mots de passe sans sel.
  • Remarque: vous devez envisager d'utiliser des char[] au lieu de Chaîne de caractères pour le mot de passe et d'en éliminer le plus tôt possible après l'utilisation