72 lines
2.6 KiB
Java
72 lines
2.6 KiB
Java
package org.bouncycastle.util.encoders;
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.OutputStream;
|
|
import org.bouncycastle.util.Strings;
|
|
|
|
/* loaded from: classes6.dex */
|
|
public class Base64 {
|
|
private static final Encoder encoder = new Base64Encoder();
|
|
|
|
public static String toBase64String(byte[] bArr, int i, int i2) {
|
|
return Strings.fromByteArray(encode(bArr, i, i2));
|
|
}
|
|
|
|
public static String toBase64String(byte[] bArr) {
|
|
return toBase64String(bArr, 0, bArr.length);
|
|
}
|
|
|
|
public static byte[] encode(byte[] bArr, int i, int i2) {
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(((i2 + 2) / 3) << 2);
|
|
try {
|
|
encoder.encode(bArr, i, i2, byteArrayOutputStream);
|
|
return byteArrayOutputStream.toByteArray();
|
|
} catch (Exception e) {
|
|
StringBuilder sb = new StringBuilder("exception encoding base64 string: ");
|
|
sb.append(e.getMessage());
|
|
throw new EncoderException(sb.toString(), e);
|
|
}
|
|
}
|
|
|
|
public static byte[] encode(byte[] bArr) {
|
|
return encode(bArr, 0, bArr.length);
|
|
}
|
|
|
|
public static int encode(byte[] bArr, OutputStream outputStream) throws IOException {
|
|
return encoder.encode(bArr, 0, bArr.length, outputStream);
|
|
}
|
|
|
|
public static int encode(byte[] bArr, int i, int i2, OutputStream outputStream) throws IOException {
|
|
return encoder.encode(bArr, i, i2, outputStream);
|
|
}
|
|
|
|
public static byte[] decode(byte[] bArr) {
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream((bArr.length / 4) * 3);
|
|
try {
|
|
encoder.decode(bArr, 0, bArr.length, byteArrayOutputStream);
|
|
return byteArrayOutputStream.toByteArray();
|
|
} catch (Exception e) {
|
|
StringBuilder sb = new StringBuilder("unable to decode base64 data: ");
|
|
sb.append(e.getMessage());
|
|
throw new DecoderException(sb.toString(), e);
|
|
}
|
|
}
|
|
|
|
public static byte[] decode(String str) {
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream((str.length() / 4) * 3);
|
|
try {
|
|
encoder.decode(str, byteArrayOutputStream);
|
|
return byteArrayOutputStream.toByteArray();
|
|
} catch (Exception e) {
|
|
StringBuilder sb = new StringBuilder("unable to decode base64 string: ");
|
|
sb.append(e.getMessage());
|
|
throw new DecoderException(sb.toString(), e);
|
|
}
|
|
}
|
|
|
|
public static int decode(String str, OutputStream outputStream) throws IOException {
|
|
return encoder.decode(str, outputStream);
|
|
}
|
|
}
|