Base64加密解密

Base64加密解密

參考

Java8 Base64
BASE64在線加密解密html

Android自帶Base64加密

import android.util.Base64;
String encode2 = new String(Base64.encode("123456".getBytes(), Base64.DEFAULT));    // 結果爲"MTIzNDU2\n"
// encodeToString內部其實也是調用encode方法,若想直接返回String,推薦用該方法
String encode1 = Base64.encodeToString("123456".getBytes(), Base64.DEFAULT);    // 結果爲"MTIzNDU2\n"
複製代碼

這裏要注意以上方法最終返回的結果都有換行符\n,若是不要換行能夠用trim()作如下處理java

import android.util.Base64;
String encode2 = new String(Base64.encode("123456".getBytes(), Base64.DEFAULT)).trim();    // 結果爲"MTIzNDU2"
String encode1 = Base64.encodeToString("123456".getBytes(), Base64.DEFAULT).trim();    // 結果爲"MTIzNDU2"
複製代碼

Android自帶Base64解密

import android.util.Base64;
String decode1 = new String(Base64.decode("MTIzNDU2".getBytes(), Base64.DEFAULT));  // 結果爲"123456"
// 該方式內部其實也是調用上面那個方法,省去了getBytes(),推薦用此方法
String decode2 = new String(Base64.decode("MTIzNDU2", Base64.DEFAULT)); // 結果爲"123456"
複製代碼

Java自帶Base64加密解密

參考Java8 Base64
以上例子用的是Android自帶的android.util.Base64
其實Java也有個java.util.Base64,可是這個類需在Android API 26及以上才能夠使用android

String encode1 = new String(Base64.getEncoder().encode("123456".getBytes()));    // 結果爲"MTIzNDU2"
String encode2 = Base64.getEncoder().encodeToString("123456".getBytes());    // 結果爲"MTIzNDU2"

String decode1 = new String(Base64.getDecoder().decode("MTIzNDU2".getBytes()));    // 結果爲"123456"
String decode2 = new String(Base64.getDecoder().decode("MTIzNDU2"));    // 結果爲"123456"
複製代碼

能夠看到編碼的結果不像Android自帶的末尾還有換行符\nbash

關於Java的Base64還有如下方法微信

  • Base64.getUrlEncoder();
  • Base64.getMimeEncoder();
  • Base64.getUrlDecoder();
  • Base64.getMimeDecoder();

這裏再也不展開,之後另開一篇文章介紹
若是你喜歡個人文章,能夠關注個人微信公衆號,能夠看到我最新發布的文章
編碼

相關文章
相關標籤/搜索