[編碼解碼] Base64 編碼換行和+號遍空格的處理

Android自身帶有Base64加密與解密的包,能夠方便地加密密碼方便傳輸。加密

 String base64Token = Base64.encodeToString(token.trim().getBytes(), Base64.NO_WRAP);code

 byte[] mmmm = Base64.decode(base64Token,Base64.DEFAULT);token

在用Base64加密作籤權的時候用Base64.DEFAULT一直不能籤權成功。最後用Base64.NO_WRAP成功了。字符串

看起來用法與Java所帶的sun.misc的Base64Encoder這些用法差很少,但應該留意到了,在encode的時候,會有一個參數Flags(即上面代碼中的Base64.DEFAULT)get

這個參數有什麼用呢?根據Android SDK的描述,這種參數有5個:base64

  1. CRLF 這個參數看起來比較眼熟,它就是Win風格的換行符,意思就是使用CR LF這一對做爲一行的結尾而不是Unix風格的LF密碼

  2. DEFAULT 這個參數是默認,使用默認的方法來加密方法

  3. NO_PADDING 這個參數是略去加密字符串最後的」=」im

  4. NO_WRAP 這個參數意思是略去全部的換行符(設置後CRLF就沒用了)文件

  5. URL_SAFE 這個參數意思是加密時不使用對URL和文件名有特殊意義的字符來做爲加密字符,具體就是以-和_取代+和/

相關文章
相關標籤/搜索