MD5加密
java.security包中的MessageDigest类提供了计算消息摘要(即生成散列码)的方法,首先生成对象,执行其update( )方法可 以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。具体步骤如下: (1)生成MessageDigest对象 MessageDigest m=MessageDigest.getInstance("MD5"); MessageDigest类也是一个工厂类,其构造器是受保护的,不允许 直接使用new MessageDigist( )来创建对象,而必须通过其静态方法getInstance( )生成MessageDigest对象。 其中传入的参数指定计算消息摘要所使用的算法,常用的有"MD5","SHA"等。 (2)传入需要计算的字符串 m.update(x.getBytes("UTF8" )); 分析:x为需要计算的字符串,update传入的参数是字节类型或字节类型数组,对于字符串,需要先使用getBytes( )方法生成字符串数组。 (3)计算消息摘要 byte s[ ]=m.digest( ); 分析:执行MessageDigest对象的digest( )方法完成计算,计算的结果通过字节类型的数组返回。 (4)处理计算结果 必要的话可以使用如下代码将计算结果(byte数组)转换为字符串。 static String convertToHexString(byte data[]) { StringBuffer strBuffer = new StringBuffer(); for (int i = 0; i < data.length; i++) { strBuffer.append(Integer.toHexString(0xff & data[i])); } return strBuffer.toString(); }
1 package com.tem1.util; 2 3 import java.security.MessageDigest; 4 5 public class MD5 { 6 public static void main(String[] args) { 7 8 try { 9 String s1 =convertToHexString(MD5.getMD5("abc")); 10 String s2 =convertToHexString(MD5.getMD5("abc")); 11 12 System.out.println(s1); 13 System.out.println(s2); 14 15 } catch (Exception e) { 16 17 e.printStackTrace(); 18 } 19 20 } 21 22 /** 23 * 得到消息摘要 24 * 25 * */ 26 public static byte[] getMD5(String plainText) { 27 MessageDigest m; 28 byte[] ciphertext = null; 29 try { 30 m = MessageDigest.getInstance("MD5"); 31 m.update(plainText.getBytes("UTF8")); 32 ciphertext = m.digest(); 33 34 } catch (Exception e) { 35 36 e.printStackTrace(); 37 } 38 39 return ciphertext; // 密文 40 41 } 42 43 /** 44 * 计算摘要 45 * 46 */ 47 public static String convertToHexString(byte data[]) { 48 StringBuffer strBuffer = new StringBuffer(); 49 for (int i = 0; i < data.length; i++) { 50 strBuffer.append(Integer.toHexString(0xff & data[i])); 51 } 52 return strBuffer.toString(); 53 } 54 }
MD5.getMD5("abc").toString();
MD5.getMD5("abc").toString();
String s1 =convertToHexString(MD5.getMD5("abc"));
String s2 =convertToHexString(MD5.getMD5("abc"));
![](data:image/png;base64,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)