java利用Apache commons codec进行MD5加密,BASE64加密解密,执行系统命令

 更新时间:2017年12月01日 17:38:49   投稿:wdc  
这篇文章主要介绍了java利用apache Commons包进行MD5加密,BASE64加密解密与执行系统命令希望对大家有用

编写代码之前先来介绍一下我们要用到的两个包;

commons-codec-1.10.jar
Commons项目中用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64,URL,Soundx等等。

commons-exec-1.3.jar
Apache Commons Exec 是 Apache 上的一个 Java 项目,提供一些常用的方法用来执行外部进程

你可以到本站直接下载 Apache Commons 官方包

下面看一下代码结构:

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;

/**
* @author Delver_Si
*
*/
public class EncodeAndDecode {
  /**
   * Md5加密
   * @param str
   * @return
   */
  public static String Md5encode(String str) {
    return DigestUtils.md5Hex(str);
  }
  
  /**
   * Base64加密
   * @param str
   * @return
   */
  public static String Base64encode(String str) {
    byte[] b = Base64.encodeBase64(str.getBytes(), true);
    return new String(b);
  }
  /**
   * Base64解密
   * @param str
   * @return
   */
  public static String Base64decode(String str) {
    byte[] b = Base64.decodeBase64(str.getBytes());
    return new String(b);
  }
  
  /**
   * 生成SHA1
   */
  public static String SHA1encode(String str) {
    return DigestUtils.sha1Hex(str);
  }

}

把主要功能都放在一个类文件中

新建Test类引用上个文件

import security.EncodeAndDecode;
import security.Exec;


public class Test {
  public static void main(String[] args) {
    System.out.println(EncodeAndDecode.Md5encode("jb51.net"));//MD5加密
    System.out.println(EncodeAndDecode.Base64encode("jb51.net"));//Base64加密
    System.out.println(EncodeAndDecode.Base64decode("amI1MS5uZXQ="));//Base64解密
    
    String str = Exec.exec("ping jb51.net");//执行系统的Ping命令
    System.out.println(str);
  }
}

好了 ,运行一下看看最终结果

这些只是Apache commons 包的基本功能,其它功能大家可以到这里下载 apache commons 使用说明 中文WORD版 详细研究

相关文章

  • 关于Netty--Http请求处理方式

    关于Netty--Http请求处理方式

    这篇文章主要介绍了关于Netty--Http请求处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Spring5中SpringWebContext方法过时的解决方案

    Spring5中SpringWebContext方法过时的解决方案

    这篇文章主要介绍了Spring5中SpringWebContext方法过时的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java实现整数的逆序输出的三种方法

    Java实现整数的逆序输出的三种方法

    这篇文章主要介绍了Java实现整数的逆序输出的三种方法,第一种是无限制整数的逆序输出,第二种是非负整数的逆序输出,第三种是非特殊情况的逆序输出,每种方法给大家讲解的非常详细需要的朋友可以参考下
    2022-11-11
  • java多线程编程之使用Synchronized块同步方法

    java多线程编程之使用Synchronized块同步方法

    synchronized块来同步一个对象变量,也可以使用synchronized块来同步类中的静态方法和非静态方法,下面使用Synchronized块同步方法
    2014-01-01
  • 解决springcloud启动时报错Connection refused:connect问题

    解决springcloud启动时报错Connection refused:connect问题

    这篇文章主要介绍了解决springcloud启动时报错Connection refused:connect问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java MyBatis实战之QueryWrapper中and和or拼接技巧大全

    Java MyBatis实战之QueryWrapper中and和or拼接技巧大全

    在Java中QueryWrapper是MyBatis-Plus框架中的一个查询构造器,它提供了丰富的查询方法,其中包括and和or方法,可以用于构建复杂的查询条件,这篇文章主要给大家介绍了关于Java MyBatis实战之QueryWrapper中and和or拼接技巧的相关资料,需要的朋友可以参考下
    2024-07-07
  • SpringBoot项目启动时提示程序包不存在和找不到符号的处理方法

    SpringBoot项目启动时提示程序包不存在和找不到符号的处理方法

    最近接手同事开发的一个Springboot工作项目,从svn上整体拉取下来后,构建完成后,启动的时候遇到了程序包找不到的情况,所以本文记录了SpringBoot项目启动时提示程序包不存在和找不到符号的处理方法,需要的朋友可以参考下
    2024-05-05
  • Java中的读写锁ReentrantReadWriteLock源码分析

    Java中的读写锁ReentrantReadWriteLock源码分析

    这篇文章主要介绍了Java中的读写锁ReentrantReadWriteLock源码分析,ReentrantReadWriteLock 分为读锁和写锁两个实例,读锁是共享锁,可被多个线程同时使用,写锁是独占锁,持有写锁的线程可以继续获取读锁,反之不行,需要的朋友可以参考下
    2023-12-12
  • Java实现断点下载功能的示例代码

    Java实现断点下载功能的示例代码

    当下载一个很大的文件时,如果下载到一半暂停,如果继续下载呢?断点下载就是解决这个问题的。本文将用Java语言实现断点下载,需要的可以参考一下
    2022-05-05
  • java之使用多线程代替for循环(解决主线程提前结束问题)

    java之使用多线程代替for循环(解决主线程提前结束问题)

    这篇文章主要介绍了java之使用多线程代替for循环(解决主线程提前结束问题),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论