这是一个base64加密的一个工具类
/**
* base64加密工具类
*
* @author eshore
* @since 2020-09-31
*/
public class Base64 {
private static final String BASE64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
private static final char[] legalChars = BASE64_CHARACTERS.toCharArray();
/**
* 工具类,避免实例化
*/
private Base64(){
}
/**
* Base64加密
*
* @param data 待加密字节
* @return 使用base64加密后字符串
*/
public static String encode(byte[] data) {
if (data == null) {
return "";
}
int start = 0;
int len = data.length;
StringBuffer buf = new StringBuffer(data.length * 3 / 2);
int end = len - 3;
int i = start;
int n = 0;
while (i <= end) {
int d = ((((int) data[i]) & 0x0ff) << 16) | ((((int) data[i + 1]) & 0x0ff) << 8)
| (((int) data[i + 2]) & 0x0ff);
buf.append(legalChars[(d >> 18) & 63]);
buf.append(legalChars[(d >> 12) & 63]);
buf.append(legalChars[(d >> 6) & 63]);
buf.append(legalChars[d & 63]);
i += 3;
if (n++ >= 14) {
n = 0;
buf.append(" ");
}
}
if (i == start + len - 2) {
int d = ((((int) data[i]) & 0x0ff) << 16) | ((((int) data[i + 1]) & 255) << 8);
buf.append(legalChars[(d >> 18) & 63]);
buf.append(legalChars[(d >> 12) & 63]);
buf.append(legalChars[(d >> 6) & 63]);
buf.append("=");
} else if (i == start + len - 1) {
int d = (((int) data[i]) & 0x0ff) << 16;
buf.append(legalChars[(d >> 18) & 63]);
buf.append(legalChars[(d >> 12) & 63]);
buf.append("==");
}
return buf.toString();
}
}
第二步调用Base64这个类里面的encode这个方法
//byte[]转base64Str
String base64Str= Base64.encode(cipherArray).replaceAll("\r\n","");
第一次写有点不好,多多见谅 哈哈哈哈哈