package com.cnse.pwdProtected.demo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * @author kxw * java MD5 簡單實現 * 這僅僅是的MD5最簡單的列子 很容易破解 建議 增強算法規則 64位 key sha base64配置使用 */ public class Md5Demo { public static String md5Encoder(String generalStr) throws Exception{ MessageDigest messageDigest=MessageDigest.getInstance("MD5"); messageDigest.update(generalStr.getBytes()); //根據明文的字節數組構造 加密後的字符串 能夠增長位移算法 獨立的key等 byte[]bytes=messageDigest.digest(); String md5Str=""; for (int i = 0; i < bytes.length; i++) { //System.out.println("每一個字節數組數值:"+(char)bytes[i]); //判斷每一個字節的數值 小於0的會出現負數 不要 int temp=0; if(bytes[i]<0){ temp=256+bytes[i]; }else{ temp=bytes[i]; } //當位數不夠補位 if(temp<16){ md5Str=md5Str+"0"; } md5Str=md5Str+Integer.toString(temp,16); } return md5Str; } public static void main(String[] args) throws Exception { System.out.println("md5加密::"+md5Encoder("12345")); } }