常见编码和进制转换

常见编码和进制转换

Base全家桶

Base编码有很多种,常用的有:base16 base32 base64 base85 base36 base 58 base91 base 92 base62

参考资料:

https://blog.xiafeng2333.top/ctf-6/

https://www.cnblogs.com/0yst3r-2046/p/11962942.html

Base16编码

Base16编码使用16个ASCII可打印字符**(数字0-9和字母A-F)**对任意字节数据进行编码,不会出现=,数据量是原先的两倍。

输入的非ASCII字符,使用UTF-8字符集。

img
加解密网页:http://ctf.ssleye.com/base64.html

Base32编码

Base32使用了ASCII编码中可打印的32个字符**(大写字母A-Z和数字2~7)**对任意字节数据进行编码,编码后的字符串不用区分大小写并排除了容易混淆的字符,可以方便地由人类使用并由计算机处理。

Base32将串起来的二进制数据按照5个二进制位分为一组,由于传输数据的单位是字节(即8个二进制位).所以分割之前的二进制位数是40的倍数(40是5和8的最小公倍数).如果不足40位,则在编码后数据补充=,一个=相当于一个组(5个二进制位),编码后的数据是原先的五分之八倍。末尾最多有6个=

Base32字母表

Base32比Base16有优势:

Base32比Base16占用的空间更小。(1000比特数据Base32需要200个字符,而Base16则为250个字符)

Base32的缺点:

Base32比Base64多占用大约20%的空间。因为Base32使用8个ASCII字符去编码原数据中的5个字节数据,而Base64是使用4个ASCII字符去编码原数据中的3个字节数据。

与Base64相比,Base32具有许多优点:

适合不区分大小写的文件系统,更利于人类口语交流或记忆。
结果可以用作文件名,因为它不包含路径分隔符 “/”等符号。
排除了视觉上容易混淆的字符,因此可以准确的人工录入。(例如,RFC4648符号集忽略了数字“1”、“8”和“0”,因为它们可能与字母“I”,“B”和“O”混淆)。
排除填充符号“=”的结果可以包含在URL中,而不编码任何字符。

加解密网页:http://ctf.ssleye.com/base64.html

Base64编码

Base64编码使用了ASCII编码中64个可打印的字符**(大写字母A-Z,小写字母a-z,数字0~9以及+,/)**【两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法。】,将任意字节数据进行编码.Base64编码将串起来的二进制以6位进行分割.所以分切之前的二进制位数应该是24的倍数(即6,8的最小公倍数).如果不足24位,则在编码后数据后面添加=,一个=相当于6个二进制位.数据量是原先的三分之四倍。

Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,作为电子邮件的传输编码,包括MIME的电子邮件及XML的一些复杂数据。

img
加解密网页:http://ctf.ssleye.com/base64.html

注:BinHex的版本使用不同的64字符集来代表6个二进制数字,但是不被称为Base64。

base36编码

Base36包含0~9的数字,加上所有26个字母,不区分大小写,不包含任何标点,所有的字母要不全大写,要不全小写。所以加起来就是 “0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",或者”0123456789abcdefghijklmnopqrstuvwxyz“

特征特点:密文由36个字符(0-9,a-z)组成,加密仅支持整数数字,解密仅支持字符串,不支持中文
密文由36个字符(0-9,A-Z)

加解密网页:http://ctf.ssleye.com/base36w.html

base58编码

base58采用的字符集为“123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ”,从这不难看出,Base58是纯数字与字母组成而且去掉了容易引起视觉混淆的字符(0:数字零,O:大写O,I:大写i,l:小写L)。9个数字+49个字母=58个。由于没有特殊字符所以在采用鼠标双击或移动设备选择时可以自动识别全选。Base58本身就是URLSafe。Base64的URFSafe模式虽然已经对URL支持的比较好,但UUID中还是包含“-或_”。目前流行的比特币,采用的就是Base58Check编码,是在Base58基础上又增加了安全效验机制。

特征特点
Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址,Base58不使用数字”0”,字母大写”O”,字母大写”I”,和字母小写”l”,以及”+”和”/”符号

加解密网页:http://ctf.ssleye.com/base58w.html

base62编码

同样的还有 base62编码,就是26个字母的大小写再加上0-9,一共62个字符。

相比于base64只是去掉了两个在网络上不便传输的符号

特征特点:密文由62字符(0-9,a-z,A-Z)组成

加解密网页:http://ctf.ssleye.com/base62.html

base85编码

特征特点

  • base85 也称为Ascii85,是Paul E. Rutter为btoa实用程序开发的一种二进制文本编码形式。通过使用五个ASCII字符来表示四个字节的二进制数据(使编码量1 / 4比原来大,假设每ASCII字符8个比特),它比更有效UUENCODE或Base64的,它使用四个字符来表示三个字节的数据(1 / 3的增加,假设每ASCII字符8个比特)。
  • 用途是Adobe的PostScript和Portable Document Format文件格式,以及Git使用的二进制文件的补丁编码。
  • 与Base64一样,Base85编码的目标是对二进制数据可打印的ASCII字符进行编码。但是它使用了更大的字符集,因此效率更高一些。具体来说,它可以用5个字符编码4个字节(32位)。

加解密网页:http://ctf.ssleye.com/base85.html

base91编码

特征特点:密文由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”)组成

  • 它类似于UUencode或base64,但效率更高。 basE91产生的开销取决于输入数据。 它的数量最多为23%(而base64为33%),范围可以降低到14%,通常发生在0字节块上。

  • 这使得basE91对于通过二进制不安全连接(例如电子邮件或终端线)传输较大的文件非常有用。

加解密网页:http://ctf.ssleye.com/base91.html

base92编码

【参见博客】:https://thenoviceoof.com/blog/projects/base92/

加解密网页:http://ctf.ssleye.com/base92.html

培根密码

培根密码实际上就是一种替换密码,根据所给表一一对应转换即可加密解密 。它的特殊之处在于:可以通过不明显的特征来隐藏密码信息,比如大小写、正斜体等,只要两个不同的属性,密码即可隐藏。

原理

加密时,明文中的每个字母都会转换成一组五个英文字母。其转换依靠下表:

A/aaaaaaH/haabbbO/oabbbaV/vbabab
B/baaaabI/iabaaaP/pabbbbW/wbabba
C/caaabaJ/jabaabQ/qbaaaaX/xbabbb
D/daaabbK/kababaR/rbaaabY/ybbaaa
E/eaabaaL/lababbS/sbaabaZ/zbbaab
F/faababM/mabbaaT/tbaabb
G/gaabbaN/nabbabU/ubabaa

加密者需使用两种不同字体,分别代表A和B。准备好一篇包含相同AB字数的假信息后,按照密文格式化假信息,即依密文中每个字母是A还是B分别套用两种字体。

解密时,将上述方法倒转。所有字体一转回A,字体二转回B,以后再按上表拼回字母。

法兰西斯·培根另外准备了一种方法,其将大小写分别看作A与B,可用于无法使用不同字体的场合(例如只能处理纯文本时)。但这样比起字体不同更容易被看出来,而且和语言对大小写的要求也不太兼容。

培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上。培根密码所包含的信息可以和用于承载其的文章完全无关。

加解密网页:http://ctf.ssleye.com/baconian.html

凯撒密码

在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

恺撒密码的加密、解密方法还能够通过同余的数学方法进行计算。首先将字母用数字代替,A=0,B=1,…,Z=25。此时偏移量为n的加密方法即为:
凯撒密码加密
解密就是:
凯撒密码解密
加解密网页:http://ctf.ssleye.com/caesar.html

维吉尼亚密码

维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式
在一个凯撒密码中,字母表中的每一字母都会作一定的偏移,例如偏移量为3时,A就转换为了D、B转换为了E……而维吉尼亚密码则是由一些偏移量不同的恺撒密码组成。

为了生成密码,需要使用表格法。这一表格包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。维吉尼亚密码表格法
用数字0-25代替字母A-Z,维吉尼亚密码的加密文法可以写成同余的形式:
维吉尼亚密码加密方法
解密方法则能写成:
维吉尼亚密码解密方法
加解密网页:http://www.metools.info/code/c71.html

摩斯密码

摩斯密码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,读“滴”(Di)保持一定时间的长信号“—”,读“嗒”(Da)表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。摩斯密码字母表
摩斯密码加密解密:https://morsecode.world/international/translator.html
摩斯密码音频解密:https://morsecode.world/international/decoder/audio-decoder-adaptive.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值