java利用Apache commons codec進行MD5加密,BASE64加密解密,執(zhí)行系統(tǒng)命令
編寫代碼之前先來介紹一下我們要用到的兩個包;
commons-codec-1.10.jar
Commons項目中用來處理常用的編碼方法的工具類包,例如DES、SHA1、MD5、Base64,URL,Soundx等等。
commons-exec-1.3.jar
Apache Commons Exec 是 Apache 上的一個 Java 項目,提供一些常用的方法用來執(zhí)行外部進程
你可以到本站直接下載 Apache Commons 官方包
下面看一下代碼結(jié)構(gòu):
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");//執(zhí)行系統(tǒng)的Ping命令 System.out.println(str); } }
好了 ,運行一下看看最終結(jié)果
這些只是Apache commons 包的基本功能,其它功能大家可以到這里下載 apache commons 使用說明 中文WORD版 詳細研究
相關(guān)文章
Spring5中SpringWebContext方法過時的解決方案
這篇文章主要介紹了Spring5中SpringWebContext方法過時的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01解決springcloud啟動時報錯Connection refused:connect問題
這篇文章主要介紹了解決springcloud啟動時報錯Connection refused:connect問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05Java?MyBatis實戰(zhàn)之QueryWrapper中and和or拼接技巧大全
在Java中QueryWrapper是MyBatis-Plus框架中的一個查詢構(gòu)造器,它提供了豐富的查詢方法,其中包括and和or方法,可以用于構(gòu)建復雜的查詢條件,這篇文章主要給大家介紹了關(guān)于Java?MyBatis實戰(zhàn)之QueryWrapper中and和or拼接技巧的相關(guān)資料,需要的朋友可以參考下2024-07-07SpringBoot項目啟動時提示程序包不存在和找不到符號的處理方法
最近接手同事開發(fā)的一個Springboot工作項目,從svn上整體拉取下來后,構(gòu)建完成后,啟動的時候遇到了程序包找不到的情況,所以本文記錄了SpringBoot項目啟動時提示程序包不存在和找不到符號的處理方法,需要的朋友可以參考下2024-05-05Java中的讀寫鎖ReentrantReadWriteLock源碼分析
這篇文章主要介紹了Java中的讀寫鎖ReentrantReadWriteLock源碼分析,ReentrantReadWriteLock 分為讀鎖和寫鎖兩個實例,讀鎖是共享鎖,可被多個線程同時使用,寫鎖是獨占鎖,持有寫鎖的線程可以繼續(xù)獲取讀鎖,反之不行,需要的朋友可以參考下2023-12-12java之使用多線程代替for循環(huán)(解決主線程提前結(jié)束問題)
這篇文章主要介紹了java之使用多線程代替for循環(huán)(解決主線程提前結(jié)束問題),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03