首先取得三个字节的数据(24位)
TUX
完成二进制转换
01010100 01010101 01011000
高位补0 : 8*3 = 6*4 ,形成4个字节
00010101 00000101 00010101 00011000
再将四个字节转成十进制数
21 5 21 24
Table 1: The Base64 Alphabet
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (pad) =
15 P 32 g 49 x
16 Q 33 h 50 y
得到加密后的 “VFVY”
因为在编码过程中把3个8位的二进制数实际上转换成了4个6位的二进制数,而6位的二进制数只能表示0~(2^6-1)这个区间内的64个数,所以该算法被命名位BASE64算法!
当待转换数据长度不是3整数倍时
如'Linux'
=> 01001100 01101001 01101110 01110101 01111000 (pad)
=> 00010011 00000110 00100101 00101110 00011101 00010111 00100000 (pad) (第七组后2个0是补上的)
一 二 三 四 五 六 七 八
=> 19 6 37 46 29 23 32 (pad)
=> TGludXg=
分享到:
相关推荐
Oceanbase OBCP学习笔记
标题“笔记_base64_”暗示了这是一个关于Base64编码技术的学习笔记或教程,可能包含了如何使用Python进行Base64编码和解码的实践示例。 描述中提到的“此代码是用python编写的,目的是解决base64隐写问题”,这指的...
安卓逆向学习笔记之unicorn来trace还原OLLVM Base64.docx
PHP框架学习笔记 PHP框架学习笔记是学习PHP框架的重要笔记,涵盖了CI...CI框架学习笔记涵盖了CI框架的基础知识点,包括控制器、模型、视图、URI路由、数据库操作、表单提交、上传文件、Session管理等方面的知识点。
二:实现crypto&base64加密 关键字:base64 crypto 首先使用npm包管理工具安装 base64.js 和crypto.js 或者可以直接下载,这儿不做详解安装过程 因为需要使用sha1 和hmac 所以一同下载下来 (此图片来源于网络,如有...
### Python学习笔记说明的PPT知识点详述 #### 一、Python简介 - **Python的特点**: - **优雅**:简洁清晰的语法结构。 - **明确**:避免使用隐晦的方式解决问题。 - **简单**:尽可能简化语言结构。 - **...
4. **安装与部署**:学习如何在不同的操作系统环境下安装和配置OceanBase,包括配置文件详解、初始化数据库、创建表空间等步骤。 5. **SQL支持与优化**:掌握OceanBase对SQL的支持程度,包括DML(增删改查)、DDL...
### 汇编语言学习笔记 #### 概述 汇编语言是一种低级程序设计语言,它与机器语言非常接近,通常用于编写操作系统内核、嵌入式系统、设备驱动等对性能要求极高的场景。这份学习笔记主要依据王爽老师的教程进行整理...
加密工具与散列部分则涵盖了crypt、gpg、base64、md5sum、sha1sum等工具的使用。 排序、唯一性和重复处理是数据处理中常用的操作,包括如何对数据进行排序和去除重复项。在临时文件名与随机数部分,学习笔记讲述了...
这篇学习笔记1主要会探讨基础的OpenGL设置和渲染原理。 在OpenGL编程中,我们首先需要设置上下文环境,这通常通过窗口系统接口(如GLUT或SDL)完成。在"base.cpp"这个文件中,我们可能看到初始化OpenGL窗口的代码,...
根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...
**Spring MVC 学习笔记 一 创建项目** 在IT领域,Spring MVC是Java Web开发中的一个强大框架,它简化了构建交互式Web应用程序的过程。本笔记将深入探讨如何创建一个基本的Spring MVC项目,让我们开始吧。 首先,...
scikit-learn是一个开源的Python机器学习库,基于NumPy、SciPy和matplotlib构建,广泛应用于各种机器学习任务。它提供了一系列算法,包括分类、回归、聚类算法以及模型选择、预处理等功能。 ### 2. 安装scikit-...
在C#编程语言中,`Base`关键字是一个非常重要的概念,尤其在理解类的继承和多态性时。本文将详细解析`Base`关键字的基本用法及其在实际代码中的应用。 `Base`关键字的主要作用是允许子类直接访问基类的非私有成员,...
Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富的功能和组件,包括AJAX、DOM操作、动画...在“dojo学习笔记”中,你可能找到了关于这些概念的详细讲解和实践案例,这对理解和掌握Dojo技术体系非常有帮助。
这篇“SQLAlchemy学习笔记1”可能涉及了初学者入门的一些核心概念,包括数据库配置、模型定义、会话管理以及基本的CRUD操作。 首先,SQLAlchemy的核心概念是`Engine`,它是与数据库进行通信的接口。通过配置连接...
这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...
本博文是基于这个ROS软件包(https://github.com/hrnr/m-explore)的学习笔记 目录 multi robot exploration nav_msgs/OccupancyGrid map_msgs/OccupancyGridUpdate move_base multirobot_map_merge 参考资料 ...