假设需要加密的字符串是Jasmine
具体转换步骤:
第一步 将待转换的字符串转为一个个字符第二步 计算每一个字符对应的ASCII码十进制第三步 计算出十进制对应的二进制,若不足8位,在前面添加0进行补全第四步 将8位的二进制码,按照6个6个一组划分,若不能整除6,在最末添加0补足6位第五步计算对应的十进制编码第六步按照base64表,查看对应的字符第七步将加密后的字符3个3个分成一组,不足3位的添加=进行补全第八步得到最终结果
同时得到base64位加密后的特征:长度是3的倍数只含有65中字符,大写的A至Z,小写的a至z,数字0到9,以及3种符号+/ =
转换表如上
sun.misc.中自带Base64的加密和解密函数
public class TestBase { String a = "Jasmine"; String b= "SmFzbWluZQ=="; @Test public void Test() throws IOException { BASE64Encoder encoder=new BASE64Encoder(); String cOntent=new String(encoder.encodeBuffer(a.getBytes("UTF-8"))); BASE64Decoder decoder = new BASE64Decoder(); String content2 =new String(decoder.decodeBuffer(b),"UTF-8"); System.out.println(content); System.out.println(content2); }}