Java实现md5和base64加密解密的示例代码

 更新时间:2020年09月28日 11:23:45   作者:H.U.C-王子  
这篇文章主要介绍了Java实现md5和base64加密解密的示例代码,帮助大家更好的利用Java加密解密文件,感兴趣的朋友可以了解下
import java.io.IOException;
import java.security.MessageDigest;

import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;


public class MD5Util {
  /**
   * MD5加密
   */
   public static String md5Encryption(String str) {
     MessageDigest md5 = null;  
     try {  
      md5 = MessageDigest.getInstance("MD5");  
     } catch (Exception e) {  
      System.out.println(e.toString());  
      e.printStackTrace();  
      return "";  
     }  
     char[] charArray = str.toCharArray();  
     byte[] byteArray = new byte[charArray.length];  
     
     for (int i = 0; i < charArray.length; i++)  
      byteArray[i] = (byte) charArray[i];  
     
     byte[] md5Bytes = md5.digest(byteArray);  
     
     StringBuffer hexValue = new StringBuffer();  
     
     for (int i = 0; i < md5Bytes.length; i++) {  
      int val = ((int) md5Bytes[i]) & 0xff;  
      if (val < 16)  
      hexValue.append("0");  
      hexValue.append(Integer.toHexString(val));  
     }  
     
     return hexValue.toString(); 
  }
   
   /**
   * base64加密
   */
   public static String base64Encryption(String str) {
    if (str == null) return null; 
    String encodeStr = "";
    
    try {
      BASE64Encoder b64Encoder = new BASE64Encoder();
      encodeStr = b64Encoder.encode(str.getBytes());
    } catch (Exception e) {
      e.printStackTrace();
    }
    
    
    return encodeStr;
  }
   /**
   * base64解密
   */
   public static String base64Dcrypt(String str) {
    if (str == null) return null; 
    String decoderStr = "";
    
    try {
      BASE64Decoder decoder = new BASE64Decoder();
      byte[] b = decoder.decodeBuffer(str);
      decoderStr = new String(b);
    } catch (IOException e) {
      e.printStackTrace();
      return null; 
    }
    
    return decoderStr;
  }
}

以上就是Java实现md5和base64加密解密的示例代码的详细内容,更多关于Java md5和base64加密解密的资料请关注脚本之家其它相关文章!

相关文章

  • Spring Boot Web 静态文件缓存处理的方法

    Spring Boot Web 静态文件缓存处理的方法

    本篇文章主要介绍了Spring Boot Web 静态文件缓存处理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Java的springcloud Sentinel是什么你知道吗

    Java的springcloud Sentinel是什么你知道吗

    这篇文章主要介绍了Java之springcloud Sentinel案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java避免死锁_动力节点Java学院整理

    Java避免死锁_动力节点Java学院整理

    在有些情况下死锁是可以避免的。本文将展示三种用于避免死锁的技术。对java避免死锁的相关知识感兴趣的朋友一起通过本文学习吧
    2017-06-06
  • Java的NIO之并发环境下非阻塞IO技术详解

    Java的NIO之并发环境下非阻塞IO技术详解

    这篇文章主要介绍了Java的NIO之并发环境下非阻塞IO技术详解,Java NIO(New IO)是Java平台提供的一种用于高效处理I/O操作的API,它引入了一组新的类和概念,以提供更好的性能和可扩展性,需要的朋友可以参考下
    2023-09-09
  • java ArrayBlockingQueue阻塞队列的实现示例

    java ArrayBlockingQueue阻塞队列的实现示例

    ArrayBlockingQueue是一个基于数组实现的阻塞队列,本文就来介绍一下java ArrayBlockingQueue阻塞队列的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Java中对XML的解析详解

    Java中对XML的解析详解

    目前我知道的JAVA解析XML的方式有:DOM, SAX, StAX;如果选用这几种,感觉还是有点麻烦;如果使用:JAXB(Java Architecture for XML Binding),个人觉得太方便了
    2013-05-05
  • Mybatis Plus条件构造器ConditionConstructor用法实例解析

    Mybatis Plus条件构造器ConditionConstructor用法实例解析

    这篇文章主要介绍了Mybatis Plus条件构造器ConditionConstructor用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 彻底搞懂Java多线程(一)

    彻底搞懂Java多线程(一)

    这篇文章主要给大家介绍了关于Java面试题之多线程和高并发的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2021-07-07
  • Java利用ITextPdf库生成PDF预览文件的具体实现

    Java利用ITextPdf库生成PDF预览文件的具体实现

    这篇文章主要给大家介绍了Java利用ITextPdf库生成PDF预览文件的具体实现,文中通过代码示例和图文给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-04-04
  • 一篇文章带你学会Spring MVC表单标签

    一篇文章带你学会Spring MVC表单标签

    Spring MVC表单标签是网页的可配置和可重复使用的构建块,下面这篇文章主要给大家介绍了如何通过一篇文章学会Spring MVC表单标签的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03

最新评论