base64 加密原理 解密原理

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



}

  

转载于:https://www.cnblogs.com/qianjinyan/p/9541368.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值