[問題] Android處理php base64_encode

作者: magic704226 (梅姬?沒雞?傻傻分不清楚)   2018-04-26 14:53:20
請教目前有一個案子用到
php base64_encode()
base64_decode()
Android side也要同時對應
Android 端目前是使用
android.util.Base64;
Base64.encode
Base64.decode
光分別在php與android 丟入"abc"加解密
就不一樣了
有人遇過如何處理嗎?
感恩
作者: ssccg (23)   2018-04-26 15:20:00
不一樣是怎麼不一樣? 你的"abc"是先用什麼編碼再Base64的?java錯的,最快改法是hexTestStr.getBytes("ISO-8859-1")但是根本原因是正確轉碼過程應該是 hex→byte[]→base64你的hex2String是把byte資料硬塞進String裡(這相當於將byte當做ISO-8859-1編碼的字串資料來轉成String後來getBytes時會用系統預設編碼(應該是UTF-8)轉成bytehex→byte[] (ISO-8859-1)→String→UTF8 byte[]→base64這是錯的,binary資料就不要再轉String了,把hex2String砍掉換一個hex2Bytes才對另外base64是編碼,不是加密
作者: y3k (激流を制するは静水)   2018-04-27 10:15:00
很久以前寫的 給你參考 http://0rz.tw/2o40a阿....抱歉看錯 上面請無視XD
作者: kobe8112 (小B)   2018-04-27 14:28:00
平常用BASE64主要的問題都是字串和陣列互相轉換時候的編碼格式不一致,BASE64本身是很單純的
作者: ssccg (23)   2018-04-27 15:00:00
我是覺得能表示成String的根本不用base64,base64不就方便在用較單純的字元來表示binary資料而已

Links booklink

Contact Us: admin [ a t ] ucptt.com