不推薦使用jdk1.8以下的Base64加解密,雖然jdk加解密的效率比其他兩種都要高,下面是相關的測試結果
****************************************************************************************
base64 jar:jdk
--------------------------------------------
明文:Idea love code,you know why?
--------------------------------------------
明文加密後的密文:SWRlYSBsb3ZlIGNvZGUseW91IGtub3cgd2h5Pw==
--------------------------------------------
解密加密過的密文:Idea love code,you know why?
-----encodeTimeLenght:0--------------decodeTimeLenght:0-------------------------
****************************************************************************************
base64 jar:commons
--------------------------------------------
明文:Idea love code,you know why?
--------------------------------------------
明文加密後的密文:SWRlYSBsb3ZlIGNvZGUseW91IGtub3cgd2h5Pw==
--------------------------------------------
解密加密過的密文:Idea love code,you know why?
-----encodeTimeLenght:16--------------decodeTimeLenght:0-------------------------
****************************************************************************************
base64 jar:bouncycastle
--------------------------------------------
明文:Idea love code,you know why?
--------------------------------------------
明文加密後的密文:SWRlYSBsb3ZlIGNvZGUseW91IGtub3cgd2h5Pw==
--------------------------------------------
解密加密過的密文:Idea love code,you know why?
-----encodeTimeLenght:137--------------decodeTimeLenght:0-------------------------
JDK1.8之前的base64是內部測試使用的代碼,不建議生產環境使用,而且未來可能會移除,JDK1.8提供最新可以正式使用的Base64類,可以用java.util.Base64.getEncoder().encodeToString("字符串內容")來生成base64碼了。
java.util.Base64.getEncoder().encodeToString("進制")//編碼
java.util.Base64.getDecoder().decode("字符串內容")//解碼