一.MD5加密算法
1.1 MD5算法的定義:MD5是哈希散列算法,對於MD5而言,有兩個特性是很重要的,第一:明文數據經過散列以后的值是定長的;第二:是任意一段明文數據,經過散列以后,其結果必須永遠是不變的。前者的意思是可能存在有兩段明文散列以后得到相同的結果。MD5是哈希散列算法,對於MD5而言,有兩個特性是很重要的,第一:明文數據經過散列以后的值是定長的;第二:是任意一段明文數據,經過散列以后,其結果必須永遠是不變的。前者的意思是可能存在有兩段明文散列以后得到相同的結果,后者的意思是如果我們散列特定的數據,得到的結果一定是相同的.
(MD5的算法是一個比較常見的算法,在登錄注冊的時候比較常用,這個定義從百度上抄來的,其實作為程序員沒必要了解定義,只需要知道這是一種加密算法,會用就行了)
二.做MD5加密算法是jdk自己帶的有
package untils; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5untils { public String md5(String plainText){ byte[] secretBytes=null; try { secretBytes=MessageDigest.getInstance("md5").digest( plainText.getBytes()); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("沒有md5這個算法"); } String md5Code=new BigInteger(1, secretBytes).toString(16); for(int i=0;i<32-md5Code.length();i++){ md5Code="0"+md5Code; } return md5Code; } }
三.測試代碼
package text; import untils.MD5untils; public class Demo01 { public static void main(String[] args) { String plainText="456664"; MD5untils md5untils=new MD5untils(); String result=md5untils.md5(plainText); System.out.println(result); } }