mirror of https://github.com/beemdevelopment/Aegis
Wrap the Base64 class to prevent a runtime exception for bad input
parent
f1a03638a0
commit
9c433f96cf
@ -0,0 +1,29 @@
|
|||||||
|
package me.impy.aegis.encoding;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
|
public class Base64 {
|
||||||
|
private static final int _flags = android.util.Base64.NO_WRAP;
|
||||||
|
|
||||||
|
private Base64() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static byte[] decode(String s) throws Base64Exception {
|
||||||
|
try {
|
||||||
|
return android.util.Base64.decode(s, _flags);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
throw new Base64Exception(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String encode(byte[] data) {
|
||||||
|
byte[] encoded = android.util.Base64.encode(data, _flags);
|
||||||
|
|
||||||
|
try {
|
||||||
|
return new String(encoded, "UTF-8");
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package me.impy.aegis.encoding;
|
||||||
|
|
||||||
|
public class Base64Exception extends Exception {
|
||||||
|
public Base64Exception(Throwable cause) {
|
||||||
|
super(cause);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue