彻底搞懂base64加解密原理和隐写技术

  base64编码和解码是一个常用的方式,可以避免明文传输或者存储,也可以结合加解密技术进行使用。

  • base64 编码的定义:base64编码表:
  • base64 采用6位二进制进行编码,不足部分补足0,字符是8位二进制表示,所以最小公约数位24,3位字符经过base64编码后变成了4位。
  • 看一个编码示例:
  • 从示例可以看到:H是八位,其前六位010 010对应18,18对应base64编码表为S,H的后两位00加上补充的4个0组成6位,正好是000 000 对应十进制为0,对照base64编码表为A,后续补充的0用=号补足,=代表补充二进制位数*2,故最多补充2*2位,两个==代表补足了4个0.一个=号代表补足了两个0.
  • base64编码步骤:字符串转换为二进制H(01001000)==》从前到后每六位二进制转换为十进制,去base64编码表查找对应的字符或符号010 010(S)000 000(A)==》根据最后一次补充了的0,对应添加0个或一个或两个=号 0000(==)==》完成编码(SA==)。
  • base64解码:从前往后对照base64编码,依次转换为二进制SA(010010 000 000)==》遇见=则结束==》然后从前到后8位二进制转换为字符H(0100 1000),不足8位则丢弃。==》完成转换SA==(H)。
  • java 实现的 base64编码解码:
  • public class Test {
    
        private final static char pem_array[] = {
    //           0   1   2   3   4   5   6   7
                'A','B','C','D','E','F','G','H', // 0
                'I','J','K','L','M','N','O','P', // 1
                'Q','R','S','T','U','V','W','X', // 2
                'Y','Z','a','b','c','d','e','f', // 3
                'g','h','i','j','k','l','m','n', // 4
                'o','p','q','r','s','t&#
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值