Artikel ini menggunakan MessageDigest, yang dilengkapi dengan Java, untuk mengimplementasikan algoritma enkripsi MD5 untuk teks. Kode spesifiknya adalah sebagai berikut:
/ ** *@Deskripsi: Konversi string ke md5 */ package cn.yicha.novel.util; impor java.security.messagedigest; impor java.security.nosuchalgorithmException; Kelas Publik Parsemd5 { / ** * @param str * @return * @description: 32-bit huruf kecil Md5 * / string statis public parseStrtoMd5l32 (string str) {string string = null; coba {MessageSpetest md5 = MessageSpetest.getInstance ("md5"); byte [] bytes = md5.gigest (str.getbytes ()); StringBuffer StringBuffer = StringBuffer baru (); untuk (byte b: bytes) {int bt = b & 0xff; if (bt <16) {StringBuffer.Append (0); } StringBuffer.append (integer.tohexstring (bt)); } restr = StringBuffer.ToString (); } catch (nosuchalgorithMexception e) {e.printstacktrace (); } return stress; } / ** * @param str * @return * @description: 32-bit Huruf MD5 * / Public Static String ParSeStrToMD5U32 (String str) {String string = ParSeStrToMD5L32 (str); if (restr! = null) {resress = restr.touppercase (); } return stress; } / ** * @param str * @return * @description: 16-bit huruf kecil MD5 * / string statis public parseStrtoMd5u16 (string str) {string string = parseStrtoMd5l32 (str); if (restr! = null) {resress = restr.touppercase (). Substring (8, 24); } return stress; } / ** * @param str * @return * @description: 16-bit Huruf md5 * / public static string parseStrtoMd5l16 (string str) {string string = parseStrtoMd5l32 (str); if (restr! = null) {restr = restr.substring (8, 24); } return stress; }}Situasi kedua: Selama proses pengembangan perangkat lunak Java, beberapa data pasti akan dienkripsi. Oleh karena itu, Java memberikan implementasi MessageStigest dari algoritma enkripsi untuk teks. Berikut ini adalah contoh kode alat enkripsi MD5 yang mengenkripsi teks:
Versi lengkap algoritma enkripsi MD5 di Java :
Paket net.yuerwan.commons.util; impor java.security.messagedigest; impor java.security.nosuchalgorityxception; impor org.apache.commons.lang.stringutils @plipsext @parex* plapsext {/*** 1. 32-bit md1 md5 md4 for crryption {/*** 1. 32-bit md1 md5 md5 lereng @parex {/*** 32-bit md5 md5 md5 md4 for crryption {/*** lumer 32-bit md5 md5 md5 md4 lereng 5 Konten terenkripsi*/public static string texttomd5l32 (string plaintext) {string result = null; // pertama -tama tentukan apakah itu kosong if (stringutils.isblank (plaintext)) {return null;} coba {// instantiate dan inisialisasi apremestIgest md = messageScageTest.getscance ("md aMDAUD (" md aRRAUD ("md aRRAUD (" md a nUlSEUD (" Format byte sistem operasi [] btinput = plaintext.getbytes (); // File array byte yang diperoleh md.update (btinput); // file hash perhitungan dan mengembalikan byte hasil (] btresult = md.digest (); // sesuai dengan panjang data yang diperoleh setelah hash kitab hash. btresult) {int bt = b & 0xff; if (bt <16) {sb.append (0);} sb.append (integer.tohexString (bt));} hasil = sb.toString (); evRy (evRy (nosuchalgorithMException e) {e.toString. 32-bit MD5 huruf besar* @param plaintext teks yang akan dienkripsi* @return konten terenkripsi*/string statis public TextToMD5U32 (string plaintext) {if (stringutils.isblank (plaintext)) {return null;} string result = texttomd5l32 (plaintext)) {return null;} string result = texttomd5l32 (plaintext)) {return null;Kasus ketiga: Implementasi Java dari algoritma enkripsi MD5
paket lainnya; impor java.security.messagedigest; impor java.security.nosuchalgorithmexception;/** md5 algoritma*/kelas publik md5 {// array global private static string [] strdigits = {"0", "1", "2", "3," "" "" "" "," "", "" "," "", "", "" "", "" "," "", "", "" "", "" "", "" "" "", "" "" "" "" "" "l ATATIS" "" "" "" "" "" "" "l ATRAY" "" "" " "A", "B", "C", "D", "E", "F"}; publik md5 () {} // return form sebagai angka dan string private static 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]; } // formulir pengembalian hanyalah digit private static string bytetonum (byte bbyte) {int iret = bbyte; System.out.println ("IRET1 =" + IRET); if (iret <0) {iret += 256; } return string.ValueOf (IRET); } // Konversi array byte ke hexadecimal string private static string bytetoString (byte [] bbyte) {stringBuffer sbuffer = new stringBuffer (); untuk (int i = 0; i <bbyte.length; i ++) {sbuffer.append (bytetoarraystring (bbyte [i])); } return sbuffer.toString (); } public static String getMD5Code (string strobj) {string resultString = null; Coba {hasilstring = string baru (strobj); MessageDigest MD = MessageSmentIgest.getInstance ("md5"); // md.digest () Nilai pengembalian fungsi ini adalah array byte yang menyimpan hash resultString = bytetoString (md.digest (strobj.getbytes ())); } catch (nosuchalgorithmexception ex) {ex.printstacktrace (); } return resultString; } public static void main (string [] args) {md5 getMd5 = md5 baru (); System.out.println (getMd5.getMD5Code ("000000")); }}