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à [...]
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/
Aucun commentaire:
Enregistrer un commentaire