Zephyr's Repository Zephyr's Repository
首页
笔记
技术
更多
收藏
关于
  • 📂 分类
  • 🏷️ 标签
  • 📅 归档

Zephyr

偷得浮生半日闲
首页
笔记
技术
更多
收藏
关于
  • 📂 分类
  • 🏷️ 标签
  • 📅 归档
  • Web

  • 密码学

    • MD5
    • Base64
      • 简介
      • 算法过程
      • 示例
    • Shift
    • AES
    • DES
    • RSA
  • 技术文档

  • 资料

  • 博客搭建

  • GitHub技巧

  • 技术
  • 密码学
Zephyr
2022-07-08
目录

Base64

# Base64

# 简介

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,其基于64个可打印字符(包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个 + 和 /。)来表示二进制数据的方法,另外此算法的复杂程度要小,效率高

# 算法过程

  1. 将待处理的信息进行预处理
  • 将其分割成每3个字节(24bit)为一个分组,得到以下公式
N∗3+R
1
  • 其中R是剩余信息的字节数
  • 当R=0时,无需处理
  • 当R < 3时,不足3字节部分补0
  • 要注意的是,在计算字节数时,会直接使用总长度除以3,如果余数为1则会直接在最后补一个=,如果余数为2则补两个=
  1. 重新分组

    将原来3个字节共24bit的分组,重新划分为4组,每组6个bit(不足6bit的末尾添0补上)

  2. 循环处理新分组数据

    将转换所得的二进制值对应Base64编码表中的字符进行替换

# 示例

待编码字符长度刚好为3的倍数:

在这里插入图片描述

待编码字符长度无法被3整除:

在这里插入图片描述

在这里插入图片描述

#Base64
上次更新: 2022/07/21, 22:10:28
MD5
Shift

← MD5 Shift→

最近更新
01
0CTF 2016 piapiapia
07-23
02
CISCN 2019 初赛 Love
07-22
03
PHP反序列化
07-21
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Zephyr | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×