base64和rot-13

0x00 前言

我们来索一索ctf中常用的编码,加密方式,base64和rot-13

0x01 base64

之前也提到过,编码都是为了某些传输的需要,而base64就是一种 基于64个可打印字符来表示二进制数据的表示方法。
——
base64和rot-13_第1张图片
我们可以看一下base64的索引表,字符只选用了A-Z、a-z、0-9、+、/ 一共64个可打印字符。
又因为64用6个比特位就可以全部表示,所以一个base64字符是8个bit,但它的有效部分只有高6位。因此我们想要用6个有效bit来表示传统字符的8个bit,至少需要3个传统字符(因为3*8=4*6)

因此在进行base64编码时,很简单:
1.每个原字符ascii值转换为8个bit的二进制
2.对原文本的二进制值每六位每六位的分组,若原文本位数不够则补0
3.如果原文本字符数mod3!=0,则对于其缺少的字符数直接换为对应个数的“=”

因此我们在进行base64编码时,会出现没有=,有一个=,有两个=的情况出现

0x02 rot-13

简单的置换密码,置换规则如下
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

你可能感兴趣的:(base64和rot-13)