Lassen Sie uns zunächst die Implementierung der MD5 -Verschlüsselung aus der folgenden Abbildung verstehen
Paket com.pb; import Java.io.unsupportedenCodingException; Import Java.Security.Messagedigest; Import Java.Security.NoSuchalgorithmException; Import Java.util.Scanner; Informationszusammenfassung* 4. Byte [] in eine hexadezimale Zeichenfolge mit einer 32-Bit-Suche*/öffentliche Klasse MD5 {/** MD5 mit der in Parameter String bestandenen String erstellen*/public void Generatemd5 (String-Eingabe) {Try {// 1 generieren. Initialisieren Sie das Summary-Objekt des MessagagedIGest-Informationen und geben Sie es als MD5 an, ohne dass unabhängigem Messagedigest MD = MessagedIGest.getInstance ("MD5"); // 2. In die zu berechnende Zeichenfolge, um die zusammenfassenden Informationen zu aktualisieren, ist das übergebene Byte-Array-Byte [], // die Zeichenfolge mit der GetByTes () -Methode // bei angegebener Angabe in Byte-Array konvertieren, ist UTF-8 MD.UPDATE (input.getBytes ("Utf-8"); // 3. Berechnen Sie die Informationsübersichtszusammenfassung digest () // Rückgabe Der Wert ist das Byte -Array -Byte [] HashCode = Md.Digest (); // 4. Byte [] konvertieren in eine hexadezimale Zeichenfolge mit einer 32-Bit-Suche // ein StringBuffer-Objekt deklarieren, um den letzten Wert StringBuffer sb = new StringBuffer () zu speichern; // Übertragen Sie das Byte -Array für (Byte B: HashCode) {// den Array -Inhalt in hexadezimal, sb.append (charakter.fordigit (b >> 4 & 0xf, 16)); // Übertragung auf den 32-Bit-Hexadezimal SB.Append (Charakter.fordigit (B & 0xf, 16)); } System.out.println ("Das Ergebnis nach der Verschlüsselung ist:"+sb.toString ()); } catch (NoSuchalgorithmException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } catch (unportedenCodingException e) {// todo automatisch generierter Catch-Block e.printstacktrace (); }} public static void main (String [] args) {// deklarieren Sie das Objekt, das die MD5 -Klasse MD5 MD5 = neuer MD5 () verschlüsselt; // Wenden Sie einen Scanner mit, um einen Zeichenscanner -Scanner = neuer Scanner (System.in) einzugeben. System.out.println ("Bitte geben Sie den zu verschlüsselnden Inhalt ein:"); String input = scanner.Nextline (); // Aufrufen der Verschlüsselungsmethode MD5.Generatemd5 (Eingabe); }} Ergebnis:
Bitte geben Sie den zu verschlüsselnden Inhalt ein:
Das Ergebnis nach Erlernen des Verschlüsselungsprozesses von MD5 ist: B826CDAC46F01DCC8CCC60A76CEBF858
Zweiter Code:
Paket test.md5; Import Java.Security hexDigits [] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', '}; try {byte [] btinput = s.getBytes (); // Erhalten Sie das MessagedIGest -Objekt des M -MessagedIGest -MessagedIGest -MessagedIGestS -Algorithmus -MessagedIGEST.getInstance ("Md5"); // Aktualisieren Sie die Digest mdinst.update (btinput); // den CipheText byte [] md = mdinst.Digest () erhalten; // den Chiffretext in eine HEX -String -Form int j = md.length konvertieren; char str [] = new char [j * 2]; int k = 0; für (int i = 0; i <j; i ++) {byte byte0 = md [i]; STR [K ++] = hexDigits [byte0 >>> 4 & 0xf]; STR [K ++] = hexDigits [byte0 & 0xf]; } return New String (str); } catch (Ausnahme e) {e.printstacktrace (); null zurückkehren; }} public static void main (String [] args) {System.out.println (md5util.md5 ("20121221"); System.out.println (Md5util.md5 ("Verschlüsselung")); }}Der dritte Code -Stück: Java -Implementierung des MD5 -Verschlüsselungsalgorithmus
Paket Andere; Import Java.Security.Messagedigest; Import Java.Security.NoSuchalgorithmException;/* Md5 -Algorithmus*/public class Md5 {// global Array Private Abschlussstatik "9", "A", "B", "C", "D", "E", "F"}; public md5 () {} // Formular als Nummer und Zeichenfolge private statische String BytetoArrayString (byte bbyte) {int iret = bByte; // system.out.println ("iret ="+iret); if (iret <0) {iret += 256; } int id1 = iret / 16; int id2 = iret % 16; return strDigits [id1] + strDigits [id2]; } // Rückgabeform ist nur ein Ziffer privates statisches String -Bytetonum (Byte bbyte) {int iret = bbyte; System.out.println ("iret1 =" + iret); if (iret <0) {iret += 256; } return string.Valueof (iret); } // das Byte -Array in eine hexadezimale Zeichenfolge private statische String -BytetoString (Byte [] bbyte) {StringBuffer sbuffer = new StringBuffer (); für (int i = 0; i <bbyte.length; i ++) {sbuffer.Append (bytetoArrayString (bbyte [i])); } return sbuffer.toString (); } public static String getMd5Code (String strobj) {String resultStRing = null; try {resultStRing = new String (Strobj); MessagedIGest MD = MessagedIGest.getInstance ("md5"); // Md.Digest () Der Rückgabewert dieser Funktion ist das Byte -Array, das die Hash -Ergebnisse speichert. } catch (nosuchalgorithmException ex) {ex.printstacktrace (); } return resultString; } public static void main (String [] args) {md5 getMd5 = new Md5 (); System.out.println (getMd5.getMd5Code ("000000")); }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.