Je suis actuellement en train d'encoder un mot de passe. Je dois déchiffrer le mot de passe. Voici le code à encoder. J'essaye d'obtenir le mot de passe original le compare. J'ai recherché sur MessageDigest qui dit que c'est une méthode à sens unique. Je ne sais pas comment obtenir le message original. Nous avons une méthode de décodage mais elle ne me donne pas le mot de passe original - Base64.decode.Comment décoder avec MessageDigest, Base64
public static synchronized String getMD5_Base64(String input) {
if (!isInited) {
isInited = true;
try {
digest = MessageDigest.getInstance("MD5");
} catch (Exception ex) {
}
}
if (digest == null)
return input;
// now everything is ok, go ahead
try {
digest.update(input.getBytes("UTF-8"));
} catch (java.io.UnsupportedEncodingException ex) {
}
byte[] rawData = digest.digest();
byte[] encoded = Base64.encode(rawData);
String retValue = new String(encoded);
return retValue;
}
}
Salut Jherico. Le problème est que j'essaie de comparer qu'il n'y a pas 4 caractères consécutifs des mots de passe précédents dans le mot de passe actuel essayant ainsi d'obtenir le modèle du MD5 Base64 sort incorrectement. J'essayais donc de revenir aux mots de passe origianl pour les comparer. – Perry
Je me demande si je devrais juste décoder les pwds précédents, créer MD5 avec un nouveau mot de passe et juste comparer ce que le MD5 a créé? Je ne sais pas vraiment comment je devrais faire ça. :) – Perry
C'est impossible. Le point d'un hachage cryptographique est que chaque bit de sortie est potentiellement influencé par chaque bit d'entrée.Il n'y a aucun moyen de faire le genre de comparaison que vous suggérez avec les données que vous avez. – Jherico