1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
/**
* Renvoie l' "empreinte" resultant du hachage,
* par la fonction specifiee (si disponible),
* du message en parametre.
*/
public static byte[] hacher(String fournisseur, String fonction, byte[] message)
throws NoSuchAlgorithmException, NoSuchProviderException {
byte[] empreinte = null;
// SHA-1 par defaut
MessageDigest fabrique =
(fournisseur == null)
? MessageDigest.getInstance(fonction == null ? DEFAUT_FONCTION : fonction)
: MessageDigest.getInstance(
fonction == null ? DEFAUT_FONCTION : fonction,
fournisseur);
/*
* fabrique.reset();
*/
fabrique.update(message);
empreinte = fabrique.digest();
return empreinte;
}
/*
* SHA-1
*
* message: abc
* hash: a9993e364706816aba3e25717850c26c9cd0d89d
*/
/**
* Renvoie l' "empreinte" resultant du hachage,
* par la fonction specifiee (SHA-1 par defaut),
* du texte en parametre ;
* retourne la conversion hexadecimale de ses bits UTF-8 'non-signes' (sur 40 caracteres si SHA-1).
*
* @see #hacher(String, byte[])
*/
public static String hacher(String fournisseur, String fonction, String texte)
throws NoSuchAlgorithmException, NoSuchProviderException, UnsupportedEncodingException {
// SHA-1 par defaut
byte[] empreinte = hacher(fournisseur, fonction, texte.getBytes("UTF-8"));
// standard Unicode
return Utilitaire.byteToHex(empreinte);
} |
Partager