Maison > Java > javaDidacticiel > Que faire si Java md5 est incohérent

Que faire si Java md5 est incohérent

藏色散人
Libérer: 2020-04-07 10:01:08
original
4528 Les gens l'ont consulté

Que faire si Java md5 est incohérent

Que dois-je faire si Java md5 est incohérent ? Solution au problème des valeurs md5 incohérentes des caractères chinois Java

Tutoriel recommandé : "Java learning"

Obtenez une valeur cryptée via le test de la méthode principale , et appelez-le via une requête de servlet. Une valeur chiffrée est obtenue, qui chiffre les mêmes caractères chinois, mais les résultats sont différents.

S'il est crypté en anglais, il n'y aura pas de problème de ce type.

La raison réside dans le codage des caractères chinois. Lors du cryptage, définissez le codage sur UTF-8 et le problème est résolu.

public static String EncoderByMd5(String str) {  
    String result = "";  
    MessageDigest md5 = null;  
    try {  
        md5 = MessageDigest.getInstance("MD5");  
        // 这句是关键  
        md5.update(str.getBytes("UTF-8"));  
    } catch (NoSuchAlgorithmException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    } catch (UnsupportedEncodingException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }  
    byte b[] = md5.digest();  
    int i;  
    StringBuffer buf = new StringBuffer("");  
    for (int offset = 0; offset < b.length; offset++) {  
        i = b[offset];  
        if (i < 0)  
            i += 256;  
        if (i < 16)  
            buf.append("0");  
        buf.append(Integer.toHexString(i));  
    }  
    result = buf.toString();  
  
    return result;  
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal