1. 程式人生 > >記JAVA內的MD5加密與Base64加密解密

記JAVA內的MD5加密與Base64加密解密

之前都是在百度找工具類複製貼上,今天偶然發現可以用spring內建的工具類及maven導包等方式來解決加密問題,因此做個記錄。

MD5加密

spring專案有內建的工具類DigestUtils可用於MD5加密:

String s = DigestUtils.md5DigestAsHex("123456".getBytes());
System.out.println(s);

控制檯輸出結果:

e10adc3949ba59abbe56e057f20f883e

 

非Spring專案可以在pom檔案中匯入依賴:

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.12</version>
</dependency>

在程式碼中採用以下的方法獲取MD5值:

String s = DigestUtils.md5Hex("123456");
System.out.println(s);

在控制檯中輸出的結果一致,但我還是更偏愛第二種,畢竟匯入依賴後使用起來較前者而言還挺輕便的=v=

 

Base64加密

過分了!這個居然在java裡面有封裝好的方法!那我之前上網找工具類幹嘛呢。。。

(好像是jdk1.8後才支援的,那我之前學的是1.7應該可以甩鍋了=。=~)

話不多說上程式碼,用的就是java.util下的Base64工具類,用法跟上面的第一種MD5加密有點像。

加密過程

String s = "123456";
String encode = Base64.getEncoder().encodeToString(s.getBytes());
System.out.println(encode);

控制檯輸出結果:

MTIzNDU2

解密過程

byte[] decode = Base64.getDecoder().decode(s);
 System.out.println(new String(decode));

控制檯輸出結果:

123456

 

jdk1.8以下版本可以使用上方匯入的maven依賴commons-codec中的Base64工具類進行加密解密,輸出結果同上:

//加密
byte[] encode = Base64.encodeBase64(s.getBytes());
System.out.println(new String(encode));
//解密
byte[] decode = Base64.decodeBase64(encode);
System.out.println(n