`

base64学习笔记

阅读更多

首先取得三个字节的数据(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学习笔记

    Oceanbase OBCP学习笔记

    笔记_base64_

    标题“笔记_base64_”暗示了这是一个关于Base64编码技术的学习笔记或教程,可能包含了如何使用Python进行Base64编码和解码的实践示例。 描述中提到的“此代码是用python编写的,目的是解决base64隐写问题”,这指的...

    安卓逆向学习笔记之unicorn来trace还原OLLVM Base64.docx

    安卓逆向学习笔记之unicorn来trace还原OLLVM Base64.docx

    php框架学习笔记.doc

    PHP框架学习笔记 PHP框架学习笔记是学习PHP框架的重要笔记,涵盖了CI...CI框架学习笔记涵盖了CI框架的基础知识点,包括控制器、模型、视图、URI路由、数据库操作、表单提交、上传文件、Session管理等方面的知识点。

    微信小程序学习笔记《一》:tabBar小坑,实现crypto&base64加密 ...

    二:实现crypto&base64加密 关键字:base64 crypto 首先使用npm包管理工具安装 base64.js 和crypto.js 或者可以直接下载,这儿不做详解安装过程 因为需要使用sha1 和hmac 所以一同下载下来 (此图片来源于网络,如有...

    python学习笔记说明的PPT

    ### Python学习笔记说明的PPT知识点详述 #### 一、Python简介 - **Python的特点**: - **优雅**:简洁清晰的语法结构。 - **明确**:避免使用隐晦的方式解决问题。 - **简单**:尽可能简化语言结构。 - **...

    oceanbase_obcp认证.rar

    4. **安装与部署**:学习如何在不同的操作系统环境下安装和配置OceanBase,包括配置文件详解、初始化数据库、创建表空间等步骤。 5. **SQL支持与优化**:掌握OceanBase对SQL的支持程度,包括DML(增删改查)、DDL...

    汇编语言学习笔记

    ### 汇编语言学习笔记 #### 概述 汇编语言是一种低级程序设计语言,它与机器语言非常接近,通常用于编写操作系统内核、嵌入式系统、设备驱动等对性能要求极高的场景。这份学习笔记主要依据王爽老师的教程进行整理...

    Shell学习笔记

    加密工具与散列部分则涵盖了crypt、gpg、base64、md5sum、sha1sum等工具的使用。 排序、唯一性和重复处理是数据处理中常用的操作,包括如何对数据进行排序和去除重复项。在临时文件名与随机数部分,学习笔记讲述了...

    NeHe OpenGL教程 学习笔记1

    这篇学习笔记1主要会探讨基础的OpenGL设置和渲染原理。 在OpenGL编程中,我们首先需要设置上下文环境,这通常通过窗口系统接口(如GLUT或SDL)完成。在"base.cpp"这个文件中,我们可能看到初始化OpenGL窗口的代码,...

    java学习细节 android学习笔记

    根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...

    Spring MVC 学习笔记 一 创建项目

    **Spring MVC 学习笔记 一 创建项目** 在IT领域,Spring MVC是Java Web开发中的一个强大框架,它简化了构建交互式Web应用程序的过程。本笔记将深入探讨如何创建一个基本的Spring MVC项目,让我们开始吧。 首先,...

    scikit-learn学习笔记

    scikit-learn是一个开源的Python机器学习库,基于NumPy、SciPy和matplotlib构建,广泛应用于各种机器学习任务。它提供了一系列算法,包括分类、回归、聚类算法以及模型选择、预处理等功能。 ### 2. 安装scikit-...

    C#基础语法:Base关键字学习笔记

    在C#编程语言中,`Base`关键字是一个非常重要的概念,尤其在理解类的继承和多态性时。本文将详细解析`Base`关键字的基本用法及其在实际代码中的应用。 `Base`关键字的主要作用是允许子类直接访问基类的非私有成员,...

    dojo学习笔记

    Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富的功能和组件,包括AJAX、DOM操作、动画...在“dojo学习笔记”中,你可能找到了关于这些概念的详细讲解和实践案例,这对理解和掌握Dojo技术体系非常有帮助。

    SQLAlchemy学习笔记1

    这篇“SQLAlchemy学习笔记1”可能涉及了初学者入门的一些核心概念,包括数据库配置、模型定义、会话管理以及基本的CRUD操作。 首先,SQLAlchemy的核心概念是`Engine`,它是与数据库进行通信的接口。通过配置连接...

    Java加密算法学习笔记的源码包

    这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...

    ROS学习笔记之——多机器人探索环境

    本博文是基于这个ROS软件包(https://github.com/hrnr/m-explore)的学习笔记 目录 multi robot exploration nav_msgs/OccupancyGrid  map_msgs/OccupancyGridUpdate move_base multirobot_map_merge 参考资料 ...

Global site tag (gtag.js) - Google Analytics