数字摘要算法实现
數字摘要轉換成 16 進制
// 4124bc0a9335c27f086f24ba207a4912 md5 在線校驗 // QSS8CpM1wn8IbyS6IHpJEg== 消息摘要使用的是16進制代碼轉成16進制
import com.sun.org.apache.xml.internal.security.utils.Base64;import javax.sound.midi.Soundbank; import java.security.MessageDigest;public class DigestDemo1 {public static void main(String[] args) throws Exception{// 4124bc0a9335c27f086f24ba207a4912 md5 在線校驗// QSS8CpM1wn8IbyS6IHpJEg== 消息摘要使用的是16進制// 原文String input = "aa";// 算法String algorithm = "MD5";// 獲取數字摘要對象MessageDigest messageDigest = MessageDigest.getInstance(algorithm);// 消息數字摘要byte[] digest = messageDigest.digest(input.getBytes()); // System.out.println(new String(digest));// base64編碼 // System.out.println(Base64.encode(digest));// 創建對象用來拼接StringBuilder sb = new StringBuilder();for (byte b : digest) {// 轉成 16進制String s = Integer.toHexString(b & 0xff);//System.out.println(s);if (s.length() == 1){// 如果生成的字符只有一個,前面補0s = "0"+s;}sb.append(s);}System.out.println(sb.toString());} }?
總結