begin process at 2012 02 09 08:22:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurite & cryptage

 > CRYPTAGE AVEC MD5 ET COMPARAISON

CRYPTAGE AVEC MD5 ET COMPARAISON


 Information sur la source

Note :
7 / 10 - par 7 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurite & cryptage Niveau :Initié Date de création :12/12/2003 Vu :35 915

Auteur : Gaelle

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

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

  • 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();
  • }
  • }
  • }
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();
		}
	}
}



 Sources du même auteur

SMTP ET MAILS
APPLET DÉCOMPTE DU TEMPS

 Sources de la même categorie

Source avec Zip Source avec une capture CRYPTEUR-DÉCRYPTEUR AES par dragooon74
Source avec Zip UNE IMPLÉMENTATION DE RSA (RIVEST SHAMIR ADLEMAN) AVEC DES ... par lemout
Source avec Zip EVALUER LA QUALITÉ D'UN MOT DE PASSE par Julien39
Source avec Zip CASSER UN MOT DE PASSE par Julien39
Source avec une capture FONCTION DE CRYPTAGE EN JAVA par supergrandebutant

Commentaires et avis

Commentaire de neodante le 16/12/2003 15:46:29 administrateur CS

C'est sympa ton truc, un seul petit regret est l'emploie d'un algo de hash (de vérification) comme un algo de cryptage alors que celui-ci n'en est pas vraiment un -&gt; redondance ... tu vas me dire c'est toujours qu'un cryptage avec l'algo de césar ... et je te comprendrais !
(Rapport avec ma dernière source qui est celle avant la tienne dans la catégorie'Sécurité et cryptage' !)
@+

Commentaire de Subalashi le 06/07/2004 17:02:18

Est ce que tu aurais un script pour renvoyer un mot de passe par mail si une personne a perdu le sien?donc en le décryptant

Commentaire de bramidou le 15/03/2010 22:51:07

salut;
svp je cherche  un code en java pour la fonction de hachage MD5 paske je la besoin au mon theme de fin d'étude je  suit entrain de faire les signatures numérique alor svp aidez moi

Commentaire de mriwcha le 10/05/2011 17:42:50

comment puis-je télécharger ce code !

Commentaire de SenVara le 06/01/2012 00:11:41

@Mriwcha un copié/collé suffit pas ?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,685 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales