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 }  
  • 相关阅读:
    nepenthes用法
    honeydctl命令
    honeyd路由拓扑
    Linux Samba服务器的安装
    honeyd使用
    FreeRTOS 事件标志组
    epoll函数
    Java程序:从命令行接收多个数字,求和并输出结果
    《大道至简》第一章读后感
    【诗词歌赋】 杂感- 贺小妹
  • 原文地址:https://www.cnblogs.com/sharpest/p/10416019.html
Copyright © 2011-2022 走看看