Enkripsi Algoritma Enkripsi Java dan Hash Hash dengan Kode Sumber Enkripsi Kunci Rahasia
Saya baru -baru ini mempelajari pengetahuan tentang algoritma enkripsi dan menggunakan enkripsi MD5. Baidu memiliki banyak informasi online, tetapi tidak terlalu rinci. Di sini saya akan memilah cara mengimplementasikan algoritma enkripsi dengan enkripsi MD5 dan hash hash dengan kunci rahasia. Anda bisa melihatnya.
Kode Implementasi:
Paket com.ompa.common.utils; impor java.security.messagedigest; impor java.security.nosuchalgorithmException; impor javax.crypto.mac; impor* @crypy.secretkey; impor javax.crypto.spec zhangcd* @date 2016-4-29*/class public encryptutil {private static final string mac_name = "hmacsha1"; private static final string encoding = "UTF-8"; Private Static Final String Key = "iloveyou";/ ****md5 Menambahkan kode untuk menghasilkan kode MD5 32-bit*/ string public static string2md5 (string instr) {messageDigest md5 = null; coba {md5 = messageSageTigest.getInstance ("md5"); } catch (Exception e) {System.out.println (e.toString ()); e.printstacktrace (); kembali ""; } char [] chararray = instr.tochararray (); byte [] bytearray = byte baru [chararray.length]; untuk (int i = 0; i <chararray.length; i ++) bytearray [i] = (byte) chararray [i]; byte [] md5bytes = md5.gigest (bytearray); StringBuffer hexValue = stringBuffer baru (); untuk (int i = 0; i <md5bytes.length; i ++) {int val = ((int) md5bytes [i]) & 0xff; if (val <16) hexvalue.append ("0"); hexvalue.append (integer.tohexstring (val)); } return hexvalue.toString (); } / ****MD5 Enkripsi menghasilkan kode MD5 32-bit* / public static Stringmd5 (string instr) {return string2md5 (string2md5 (instr)); }/ *** Algoritma enkripsi dan dekripsi*/ string statis public convertMd5 (string instr) {char [] a = instr.tochararray (); untuk (int i = 0; i <a.length; i ++) {a [i] = (char) (a [i] ^ 't'); } String s = string baru (a); kembali S; } / ** * hmac-sha1 * @param encrypttext * @param encryptKey * @return * @throws Exception * / public static string hmacsha1encrypt (string encryptText, string encryptKey) lemparan pengecualian {byte [] data = encryptKey.getBytes (encoding); SecretKey Secretkey = SecretKeyspec baru (data, mac_name); Mac mac = mac.getInstance (mac_name); mac.init (Secretkey); byte [] text = encrypttext.getbytes (encoding); byte [] str = mac.dofinal (teks); // Buat hex stringstringBuffer hexString = new stringBuffer (); // konversi array byte menjadi nomor hexadecimal untuk (int i = 0; i <str.length; i ++) {string shahex = integer.toHexstring (iTor; i ++) {string shahex = integer.toHexstring (iT [i] & 0 if (shahex.length () <2) {hexString.append (0);} hexString.append (shahex);} return hexstring.tostring ();} public static string convertsha1 (string instr) {try {return hmacsha1encrypt (instruct, key);} catch ({{return {return hmacsha1encrypt (instror, Key); blocke.printstacktrace (); return "";}} // uji fungsi utama public static void main (string args []) melempar pengecualian {// hash hash dengan string enkripsi kunci rahasia tt = convertsha1 ("123456"); System.out.println (tt);/Md5); System.out.println ("Origin:" + S); System.out.println ("After Md5:" + String2md5 (s)); System.out.println ("After Md5:" + StringMd5 (s));}}Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!