假設需要加密的字符串是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); } }