zoukankan      html  css  js  c++  java
  • 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);
        }
    
    
    
    }
    

      

  • 相关阅读:
    团队代码
    团队代码
    团队代码
    团队代码
    innerHTML与innerText与outHTML与outText 的区别。
    【C++】 C++知识点总结
    【海思】Hi3516A 运行sample_venc的demo内核奔溃(DDR问题)
    【C/C++】 C++寄存器优化
    【工具】 memtester内存压力测试工具
    【知识点】 gcc和g++的联系和区别
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/9541368.html
Copyright © 2011-2022 走看看