zoukankan      html  css  js  c++  java
  • 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 }  
  • 相关阅读:
    玩聚SD:感谢曹增辉的博客点评
    Social Dialogue征集IT意见领袖和优秀博客的RSS地址
    微软+Powerset>GoogleAdSense还是>GoogleSearch?
    1989旧金山地震:动物预测成功的非经典案例
    随手小记·危机来了与贪婪恐惧
    玩聚SD:感谢风言疯语之IT罗盘对玩聚SD的推荐
    独立思考之慎用孤例
    08软件技术英雄会:一次比一次接近完美
    独立思考之手动check
    MyBatisSpring MapperScannerConfigurer
  • 原文地址:https://www.cnblogs.com/sharpest/p/10416019.html
Copyright © 2011-2022 走看看