비밀 키 암호화 알고리즘 소스 코드를 사용한 Java 암호화 알고리즘 MD5 암호화 및 해시 해시
최근 암호화 알고리즘에 대한 지식을 배웠고 MD5 암호화를 사용했습니다. Baidu는 온라인 정보가 많지만 그다지 상세하지 않습니다. 여기서는 MD5 암호화로 암호화 알고리즘을 구현하고 비밀 키로 해시 해시를 구현하는 방법을 분류하겠습니다. 당신은 볼 수 있습니다.
구현 코드 :
package com.ompa.common.utils; import java.security.messagegegest; import java.security.nosuchalgorithmexception; import javax.crypto.mac; import javax.crypto.secretkey; import javax.crypto.specretkyspec; *** up -javax.crypto.secretkey. zhangcd* @date 2016-4-29*/public class alcryptutil {private static final String mac_name = "hmacsha1"; 개인 정적 최종 문자열 인코딩 = "UTF-8"; 개인 정적 최종 문자열 키 = "iloveyou";/ ****MD5 32 비트 md5 코드를 생성하기 위해 코드를 추가합니다. try {md5 = messageDigest.getInstance ( "md5"); } catch (예외 e) {system.out.println (e.toString ()); e.printstacktrace (); 반품 ""; } char [] charArray = instr.tochararray (); 바이트 [] bytearray = 새로운 바이트 [chararray.length]; for (int i = 0; i <chararray.length; i ++) bytearray [i] = (byte) chararray [i]; 바이트 [] md5bytes = md5.digest (bytearray); StringBuffer hexValue = new StringBuffer (); for (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 암호화는 32 비트 md5 코드* / public static string StringMd5 (String Inst) {return String2md5 (String2md5 (Inst)); }/ *** 암호화 및 암호 해독 알고리즘*/ public static String convertMd5 (문자열 inst) {char [] a = instr.tochararray (); for (int i = 0; i <a.length; i ++) {a [i] = (char) (a [i] ^ 't'); } 문자열 s = 새 문자열 (a); 반환 s; } / ** * hmac-sha1 * @param alcrypttext * @param alcryptkey * @rerrows Exception * / public static string hmacsha1encrypt (String alcryptText, String EncrypTKey) 예외 {byte [] data = alcryptKey.getBytes (Encoding); Secretkey Secretkey = New Secretkeyspec (Data, Mac_name); Mac Mac = Mac.getInstance (mac_name); mac.init (Secretkey); 바이트 [] text = encryptText.getBytes (인코딩); byte [] str = mac.dofinal (text); // 16 진수 생성 문자열 생성 문자열 hexstring = new StringBuffer (); // byte 배열을 hexadecimal number (int i = 0; i <str.length; i ++)로 변환합니다. if (shahex.length () <2) {hexstring.append (0);} hexstring.append (shahex);} return hexstring.toString ();} public static string (} public string convertsha1 (문자열 inst) {retud hmacsha1encrypt (instr, key) {// auto auto regerated catch (예외); blocke.printstacktrace (); return "" ";}} // 메인 함수를 테스트하여 공개 정적 무효 메인 (String Args []) 예외 {// HASH HASH가 비밀 키 암호화 문자열 tt = convertsha1 ("123456 "); System.Out.println (tt); // md5 acrryption s = 새로운 문자열 ("123456 "); System.out.println ( "원산지 :" + s); System.out.println ( "MD5 이후 :" + String2md5 (s)); System.out.println ( "MD5 이후 :" + stringmd5 (s));}}읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!