Cryptage avec md5 et comparaison

Soyez le premier à donner votre avis sur cette source.

Snippet vu 50 223 fois - Téléchargée 28 fois

Contenu du snippet

Deux fonctions utilitaires dans cette petite classe... Une fonction qui encode une chaine (mot de passe) avec l'algorithme MD5 une autre qui teste une chaine en clair et une chaine hexa encodé et qui renvoi true si les deux se vérifie. J'ai laissé le main pour avoir un exemple. Bonne prog à tous ;-)

Source / Exemple :


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/*

  • Créé le 12 déc. 2003
*
  • Fonctions utilitaires pour le cryptage MD5
  • Encode une chaine et renvoi son résultat crypté en
  • héxadécimal avec l'algorithme MD5 ou test
  • une chaine et une valeur crypté. Main d'exemple fourni.
  • /
/**
  • @author Gaelle
*
  • Version : 1.0
  • Last update : 12/12/2003
  • /
public class MD5Password { /*
  • Encode la chaine passé en paramètre avec l'algorithme MD5
  • @param key : la chaine à encoder
  • @return la valeur (string) hexadécimale sur 32 bits
  • /
public static String getEncodedPassword(String key) { byte[] uniqueKey = key.getBytes(); byte[] hash = null; try { hash = MessageDigest.getInstance("MD5").digest(uniqueKey); } catch (NoSuchAlgorithmException e) { throw new Error("no MD5 support in this VM"); } StringBuffer hashString = new StringBuffer(); for ( int i = 0; i < hash.length; ++i ) { String hex = Integer.toHexString(hash[i]); if ( hex.length() == 1 ) { hashString.append('0'); hashString.append(hex.charAt(hex.length()-1)); } else { hashString.append(hex.substring(hex.length()-2)); } } return hashString.toString(); } /*
  • Test une chaine et une valeur encodé (chaine hexadécimale)
  • @param clearTextTestPassword : la chaine non codé à tester
  • @param encodedActualPassword : la valeur hexa MD5 de référence
  • @return true si vérifié false sinon
  • /
public static boolean testPassword(String clearTextTestPassword, String encodedActualPassword) throws NoSuchAlgorithmException { String encodedTestPassword = MD5Password.getEncodedPassword( clearTextTestPassword); return (encodedTestPassword.equals(encodedActualPassword)); } /*
  • Un exemple bête d'utilisation
  • /
public static void main(String[] args) { System.out.println(getEncodedPassword("mot de passe")); try { if (testPassword("mot de passe", "729f2d8b3d3d9bc07ba349faab7fdf44")) System.out.println("Les passwords sont vérifiés"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } }

A voir également

Ajouter un commentaire

Commentaires

Merci pour le code
salut, merci pour ce code car cela m'a servi.j'aimerai savoir si possible que représente le "static void main" que vous avez nommez "un exemple bête d'utilisation"? cella fais parti du code donné ou bien c'est juste un exemple pour illustré le code.
Messages postés
16818
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2020
142 > hordanh
Bonsoir,

static void main
Je pense que c'est le point d'entrée du programme.
Messages postés
1
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
6 janvier 2012

@Mriwcha un copié/collé suffit pas ?
Messages postés
2
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
30 juin 2011

comment puis-je télécharger ce code !
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.