記JAVA內的MD5加密與Base64加密解密
阿新 • • 發佈:2019-08-07
之前都是在百度找工具類複製貼上,今天偶然發現可以用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