安全和加密常识(6)Base64编码方式

news/2024/7/8 2:48:10 标签: 安全

文章目录

    • 什么是 Base64
    • 编码原理
    • 编解码示例
    • 应用

什么是 Base64

Base64 是一种用于将二进制数据编码为仅包含64种ASCII字符的文本格式的编码方法,注意,它不是加密算法。它设计的目的主要是使二进制数据能够通过只支持文本的传输层(如电子邮件)进行传输。Base64常用于在需要处理文本数据的场合中存储和传输二进制数据。

编码原理

Base64 编码的原理是将每三个字节的二进制数据转换为四个字节的文本字符。具体步骤如下:

  1. 分组:将数据流分成每组三个字节,即24位。如果最后一组不足三个字节,则用零位填充。

  2. 划分:将这24位数据再分成四组,每组6位。

  3. 映射到字符:将每组6位映射到一个特定的64字符集中的字符。这个字符集包括大写和小写英文字母、数字和加号(+)、斜杠(/)共64个字符。

  4. 填充:如果原始数据的字节数不是3的倍数,则在编码的结果上添加一个或两个’='符号作为填充,以表明原始数据末尾有填充。

因为,Base64 将三个字节转化成四个字节,因此 Base64 编码后的文本,会比原文本大出三分之一左右。

编解码示例

英文编码

  • 第一步

http://www.niftyadmin.cn/n/5536091.html

相关文章

ExtendSim在商业和服务行业中的仿真

仿真使企业能够做出明智的、数据驱动的预测,从而指导决策、产生积极成果并建立竞争优势。 精益分析 使用 ExtendSim 中的精益分析方法对欧洲的供应链网络进行建模,一家制造商实现了对最终客户的服务水平提高了 98%,而且现在可以在库存减少约 …

Python 3.x 下的 3D 游戏引擎

在 Python 3.x 中,有几个比较流行的用于开发 3D 游戏的引擎和库。虽然 Python 自身不是一个主流的游戏开发语言,但是可以通过这些库和引擎结合其它语言或者底层渲染引擎来实现复杂的游戏开发。 1、问题背景 在 Linux 系统中,尤其是 Debian 7…

艺活网DIY手工制作网站源码 工艺制作教程平台源码,带数据

帝国CMS仿《手艺活》DIY手工制作网源码,仿手艺活自适应手机版模板。 带数据库和图片资源,一共5个G大小,下载需耐心。 92开发 手艺活网DIY手工制作网站源码 创意手工艺品制作教程平台系统帝国h5自适应手机端 是一套展示各种 DIY 小物品精美又…

PyCharm 如何设置作者信息

1、点击pycharm右上角的齿轮,选择settings 2、选择editor 3、选择 Editor File and Code Templates 4、选择作者信息的文件类型,中间选择框选择Python Script 5、然后在右边的输入框中输入相关的信息 # -*- coding: utf-8 -*- """ Time …

wps 表格如何实现vlookup高级模糊搜索

一、VLOOKUP 模糊搜索 在 WPS 表格中,可以通过使用 VLOOKUP 函数和通配符来实现高级模糊搜索。这里有一个具体的示例来帮助你理解如何进行这些操作。 示例:实现 VLOOKUP 高级模糊搜索 假设我们有以下数据集: AB产品编号产品名称001苹果00…

【LinuxC语言】往线程池里添加任务、线程池的销毁和其他操作的实现

文章目录 前言添加任务实现流程函数实现获取线程池信息获取线程池工作个数获取线程池中活着的线程数量线程池的销毁实现流程函数实现代码概况总结前言 在并发编程中,线程池是一种常见的设计模式,它可以有效地管理和控制线程的执行。在Linux C语言环境下,我们可以使用POSIX线…

kpatch制作内核热补丁步骤总结

零、原理及参考 kpatch入门实践教程-CSDN博客 Kpatch 使用过程及其原理-CSDN博客 一、准备工作 安装对应版本的kpatch-build.rpm并解决依赖diff -Naur dir1 dir2 > hot.patch 拿到补丁文件下载对应内核版本的src.rpm安装好对应的开发包kernel-debuginfo,kern…