您的位置:首页 > 编程语言 > Java开发

BASE16/32/64

2016-12-29 15:57 239 查看
BASE16
加密

解密

BASE16

加密

稍后补充

public static final char[] BASE16_ENC_TAB = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
public static String Base16_encode(byte[] data) throws Exception {
StringBuilder stringBuilder = new StringBuilder();
int i = 0, total = data.length;
while (i < total) {
stringBuilder.append(BASE16_ENC_TAB[(data[i] & 0xF0) >> 4]);
stringBuilder.append(BASE16_ENC_TAB[data[i] & 0x0F]);
i++;
}
return stringBuilder.toString();
}


解密

稍后补充

public static final byte[] BASE16_DEC_TAB = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
public static byte[] Base16_decode(String encryptedText) throws Exception {
byte[] data = new byte[encryptedText.length() / 2];
int i = 0, total = (encryptedText.length() / 2) * 2, idx = 0;
while (i < total) {
data[idx++] = (byte) ((BASE16_DEC_TAB[encryptedText.charAt(i++)] << 4) | BASE16_DEC_TAB[encryptedText.charAt(i++)]);
}
return data;
}


a604
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 算法