Heim > Java > javaLernprogramm > Was tun, wenn Java MD5 inkonsistent ist?

Was tun, wenn Java MD5 inkonsistent ist?

藏色散人
Freigeben: 2020-04-07 10:01:08
Original
4510 Leute haben es durchsucht

Was tun, wenn Java MD5 inkonsistent ist?

Was soll ich tun, wenn Java MD5 inkonsistent ist? Lösung für das Problem inkonsistenter MD5-Werte für chinesische Java-Zeichen

Empfohlenes Tutorial: „Java-Lernen

Erhalten Sie einen verschlüsselten Wert durch den Hauptmethodentest , und rufen Sie es über eine Servlet-Anfrage auf. Es wird ein verschlüsselter Wert erhalten, der dieselben chinesischen Zeichen verschlüsselt, die Ergebnisse jedoch unterschiedlich sind.

Wenn es sich um verschlüsseltes Englisch handelt, gibt es kein solches Problem.

Der Grund liegt in der chinesischen Zeichenkodierung. Stellen Sie beim Verschlüsseln die Kodierung auf UTF-8 ein und das Problem ist gelöst.

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;  
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas tun, wenn Java MD5 inkonsistent ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage