一.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); } }