Francescu e Dume

Java : Crypter vos mots de passe avant de les enregistrer dans une base de données



Avez-vous déjà ressenti le besoin de crypter ces mots de passe que vous enregistrez dans votre dbase de données pour l'authentification des utilisateurs dans votre application ? Voudriez-vous crypter le texte de manière à ce que seule votre application puisse l'interpréter, et que le résultat n'ait pas de sens pour un oeil non exercé ? Voilà un petit exemple de code pour crypter un chaine de caractères. public synchronized String encrypt(String plaintext) throws SystemUnavailableException { MessageDigest md = null; try { md = MessageDigest.getInstance("SHA"); //step 2 } catch(NoSuchAlgorithmException e) { throw new SystemUnavailableException(e.getMessage()); } try { md.update(plaintext.getBytes("UTF-8")); //step 3 } catch(UnsupportedEncodingException e) { throw new SystemUnavailableException(e.getMessage()); } byte raw[] = md.digest(); //step 4 String hash = (new BASE64Encoder()).encode(raw); //step 5 return hash; //step 6 } Pour comparer deux chaines, encryptez la seconde suivant le même procédé puis comparez les. Pour une analyse plus détaillée, je vous inivite à lire l'article de James Shvarts. Source : http://www.javablogs.xyling.com/

Dimanche 30 Septembre 2007
Dominique SIACCI


Nouveau commentaire :