java 调用apache.commons.codec的包简单实现MD5加密

转自:https://blog.csdn.net/mmd1234520/article/details/70210002/

 1 import java.security.MessageDigest;  
 2 import java.security.NoSuchAlgorithmException;  
 3   
 4 import org.apache.commons.codec.digest.DigestUtils;//开发的jar包 使用更方便  
 5 public class MD5 {  
 6       
 7     /* 
 8      * 1.一个运用基本类的实例 
 9      * MessageDigest 对象开始被初始化。该对象通过使用 update 方法处理数据。 
10      * 任何时候都可以调用 reset 方法重置摘要。 
11      * 一旦所有需要更新的数据都已经被更新了,应该调用 digest 方法之一完成哈希计算。 
12      * 对于给定数量的更新数据,digest 方法只能被调用一次。 
13      * 在调用 digest 之后,MessageDigest 对象被重新设置成其初始状态。  
14      */  
15     public static void encrypByMd5(String context) {  
16         try {  
17             MessageDigest md = MessageDigest.getInstance("MD5");  
18             md.update(context.getBytes());//update处理  
19             byte [] encryContext = md.digest();//调用该方法完成计算  
20   
21             int i;  
22             StringBuffer buf = new StringBuffer("");  
23             for (int offset = 0; offset < encryContext.length; offset++) {//做相应的转化(十六进制)  
24                 i = encryContext[offset];  
25                 if (i < 0) i += 256;  
26                 if (i < 16) buf.append("0");  
27                 buf.append(Integer.toHexString(i));  
28            }  
29            System.out.println("32result: " + buf.toString());// 32位的加密  
30            System.out.println("16result: " + buf.toString().substring(8, 24));// 16位的加密  
31         } catch (NoSuchAlgorithmException e) {  
32             // TODO Auto-generated catch block  
33             e.printStackTrace();  
34         }  
35     }  
36       
37     /* 
38      * 2.使用开发的jar直接应用 
39      *  使用外部的jar包中的类:import org.apache.commons.codec.digest.DigestUtils; 
40      *  对上面内容的一个封装使用方便 
41      */  
42     public static void encrypByMd5Jar(String context) {  
43         String md5Str = DigestUtils.md5Hex(context);  
44         System.out.println("32result: " + md5Str);        
45     }  
46   
47     public static void main(String[] args) {  
48           
49         encrypByMd5("yang");  
50         encrypByMd5Jar("yang");  
51     }  
52 }  

猜你喜欢

转载自www.cnblogs.com/sharpest/p/10416019.html