Hasher vos mot de passe

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 318 fois - Téléchargée 30 fois

Contenu du snippet

Salamou alayakom(Salut)
La methode getHash(String) prend en paramètre une chaine
de caractère et retourne le chaine hashée(cryptée), c'est simple......
LTF®(tunis)

Source / Exemple :


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

/*

  • @Created on 1 févr. 2004<br>
  • @Author : LTF®<br>
  • @Package :
  • @Project : eBilan
  • /
/**
  • @author : LTF®<br>
  • /
public class SecurityTools { /**
  • @param pWord
  • @return
  • @created on : 1 mai 2005
  • @methode name : getHash
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return String
  • @see
  • /
public String getHash(String pWord) throws Exception { try { String hex=""; int h=-1; msgDigest=MessageDigest.getInstance(getAlgorithme()); msgDigest.update(pWord.getBytes()); hash=msgDigest.digest(); for(int i=0;i<hash.length;i++) { h=hash[i] & 0xFF; if (h<16) hex += "0"; hex+=Integer.toString(h,16).toUpperCase()+""; hex =hex + Byte.toString(hash[i]); }//fin if hex=hex.substring(0,14); return hex; }//fin for catch(NoSuchAlgorithmException x) { throw new Exception("Impossible de continuer la hashage du mot"); } } /************************************************************************************************************
  • LES ATTRIBUTS DE LA CLASSE
/*************************************************************************************************************/ private MessageDigest msgDigest; private String algorithme="MD5"; private byte[] hash; /**
  • @return
  • @created on : 1 févr. 2004
  • @methode name : getAlgorithme
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return String
  • @see
  • /
public String getAlgorithme() { return algorithme; } /**
  • @return
  • @created on : 1 févr. 2004
  • @methode name : getHash
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return byte[]
  • @see
  • /
public byte[] getHash() { return hash; } /**
  • @return
  • @created on : 1 févr. 2004
  • @methode name : getMsgDigest
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return MessageDigest
  • @see
  • /
public MessageDigest getMsgDigest() { return msgDigest; } /**
  • @param string
  • @created on : 1 févr. 2004
  • @methode name : setAlgorithme
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return void
  • @see
  • /
public void setAlgorithme(String string) { algorithme = string; } /**
  • @param bs
  • @created on : 1 févr. 2004
  • @methode name : setHash
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return void
  • @see
  • /
public void setHash(byte[] bs) { hash = bs; } /**
  • @param digest
  • @created on : 1 févr. 2004
  • @methode name : setMsgDigest
  • @class : SecurityTools
  • @package name :
  • @project name :Astute File
  • @return void
  • @see
  • /
public void setMsgDigest(MessageDigest digest) { msgDigest = digest; } }//fin de la classe

Conclusion :


Exemple d'utilisation :

SecurityTools st=new SecurityTools();
System.out.println("hash : " + st.getHash("votre mot "));

A voir également

Ajouter un commentaire Commentaires
Messages postés
15
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
30 avril 2007

Salut epciel
l'OS n'a rien n'avoir dans le cryptage...
MD5 est une fonction de hashage ( des math...)
et s'il y a des collisions cela veut dire que la fonction peut donner le même hash a des mot de passes different..
( enfin si j'ai bien compris )

bon code... mais manque de commentaires...
Messages postés
3
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
21 décembre 2006

"Le principe de hashage des mots de passe est bon. l'utilisation de MD5 l'est un peu moins car des collisions ont été démontrées récement"
Sur quelle OS? sur Windows ou bien Unix?
pour le code c bon Simple,lisible et sûr Bravo

Keep coding
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Effectivement le terme crypté (entres parenthèses) est un peu exagéré ...

++
Messages postés
8
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
22 juin 2006

salut hamdisup,
il me semble ,si je ne mabuse(se qui est possible , je suis jeune lol)
que le but d'un 'cryptage' est justement de rendre une donnée indecodable et inaxessible !
si ton idee est de savoir comment verifier si le mot de passe (entrer par un utilisateur par ex) est bon, il suffit de hasher a nouveau se mot de passe et de le comparer avec celui deja hasher

voila
comme je lai dit je suis jeune (et con donc peu etre)
jespere donc etre excusable si je me suis tromper
@ ++
Messages postés
2
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
26 octobre 2005

Salut,
le hashage est bon mais comment depuis la chaine hashée recuperer la chaine d'origine.

A+
Afficher les 7 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.