Android自身帶有Base64加密與解密的包,可以方便地加密密碼方便傳輸。
String base64Token = Base64.encodeToString(token.trim().getBytes(), Base64.NO_WRAP);
byte[] mmmm = Base64.decode(base64Token,Base64.DEFAULT);
在用Base64加密做簽權的時候用Base64.DEFAULT一直不能簽權成功。最后用Base64.NO_WRAP成功了。
看起來用法與Java所帶的sun.misc的Base64Encoder這些用法差不多,但應該留意到了,在encode的時候,會有一個參數Flags(即上面代碼中的Base64.DEFAULT)
這個參數有什么用呢?根據Android SDK的描述,這種參數有5個:
CRLF 這個參數看起來比較眼熟,它就是Win風格的換行符,意思就是使用CR LF這一對作為一行的結尾而不是Unix風格的LF
DEFAULT 這個參數是默認,使用默認的方法來加密
NO_PADDING 這個參數是略去加密字符串最后的”=”
NO_WRAP 這個參數意思是略去所有的換行符(設置后CRLF就沒用了)
URL_SAFE 這個參數意思是加密時不使用對URL和文件名有特殊意義的字符來作為加密字符,具體就是以-和_取代+和/