在默认情况下,他们互相不兼容
但是可以使他们统一规格
假设:
import java.util.Base64;
public class ServerCrypt extends EasyCrypt{
@Override
public byte[] decode(String str){
return Base64.getDecoder().decode(str); //Throws IllegalArgumentException
}
@Override
public String encode(byte[] bytes){
return Base64.getEncoder().encodeToString(bytes);
}
那么安卓版
import android.util.Base64;
public class ClientCrypt extends EasyCrypt {
@Override
protected byte[] decode(String s) {
return Base64.decode(s.getBytes(), Base64.NO_WRAP); //Works perfectly
}
@Override
protected String encode(byte[] bytes) {
return Base64.encodeToString(bytes, Base64.NO_WRAP); //默认0为Base64.DEFAULT
}
那么如果你一定要使用Base64.DEFAULT怎么办呢?
那就让java版去兼容安卓版
将Base64.getDecoder()
改成
Base64.getMimeDecoder()