一些常见的编码

前言: 学了那么久的编码,之前一直都没有时间整理,现在来总结一下。

1、base家族

1.1、base16

就是16进制,编码内容只有数字0-9,和大写英文字母A-F

1.2、base32

编码内容只有大写英文字母A-Z,和数字234567

1.3、base64

编码内容主要有大写英文字母A-Z,小写英文字母a-z,数字0-9,+和/
在这里插入图片描述

2、凯撒密码

凯撒密码主要通过偏移来实现加密,偏移量是几,密文就是明文在字母表上向后移几位所对应的字母,由于凯撒密码所操作的范围只有字母表上的26个英文字母,所以当偏移量大于26时,密文就会在字母表上绕一圈绕回来。

加密公式:f(a) = (a+N) % 26

解密公式:f(a) = (a+(a-N)) % 26

3、栅栏密码

栅栏密码是一种简单的移动字符位置的加密方法,规则简单,容易破解。栅栏密码的加密方式:把文本按照一定的字数分成多个组,取每组第一个字连起来得到密文1,再取每组第二个字连起来得到密文2……最后把密文1、密文2……连成整段密文。

例:
明文:abcdefgh
每组字数:4

把明文分组:
abcd
efgh

取每组第一个字符:ae
取每组第二个字符:bf
取每组第三个字符:cg
取每组第四个字符:dh

所以密文为:aebfcgdh

解密过程反推即可

4、ROT编码

ROT编码是一种简单的码元位置顺序替换暗码。此类编码具有可逆性,可以自我解密。

ROT5:只对数字进行编码,用当前数字往后数的第5个数字替换当前数字。
例:1——>6。

ROT13:只对字母进行编码,用当前字母往后数的第13个字母替换当前字母。
例:A——>N

ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起。
例:1a——>6n

ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前或后数的第47位对应字符替换当前字符。
例:0——>_ ,z——K

5、摩尔斯电码

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它的代码包括五种: 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之间中等的停顿以及句子之间长的停顿。

在这里插入图片描述

6、XXencode编码

XXencode是一种二进制到文字的编码!它跟UUencode以及Base64编码方法很类似。它也是定义了用可打印字符表示二进制文字一种方法,不是一种新的编码集合。XXencode将输入文本以每三个字节为单位进行编码,如果最后剩下的资料少于三个字节,不够的部份用零补齐。三个字节共有24个Bit,以6-bit为单位分为4个组,每个组以十进制来表示所出现的字节的数值。这个数值只会落在0到63之间。它64可打印字符固定字符范围及顺序!包括大小写字母、数字以及±字符。它较UUencode编码优点在于它64字符是常见字符,没有任何特殊字符!

例:I am XXEncode

BGG-VPG-MK2JiMqxYNE++

解密网站:http://www.atoolbox.net/Tool.php?Id=780

7、Quoted-printable编码

Quoted-printable 可译为“可打印字符引用编码”、“使用可打印字符的编码”,我们收邮件,查看信件原始信息,经常会看到这种类型的编码!

Quoted-printable是使用可打印的ASCII字符(如字母、数字与“=”)表示各种编码格式下的字符,以便能在7-bit数据通路上传输8-bit数据, 或者更一般地说在非8-bit clean媒体上正确处理数据[注 1]。这被定义为MIME content transfer encoding,用于e-mail。QP使用“=”开头的转义字符. 一般限制行宽为76,因为有些软件限制了行宽.

例:这就是可打印字符引用编码

=E8=BF=99=E5=B0=B1=E6=98=AF=E5=8F=AF=E6=89=93=E5=8D=B0=E5=AD=97=E7=AC=A6=E5=
=BC=95=E7=94=A8=E7=BC=96=E7=A0=81

解密网站:http://ctf.ssleye.com/quoted.html

8、培根密码

培根密码,又名倍康尼密码(英语:Bacon’s cipher)是由法兰西斯·培根发明的一种隐写术。培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上。

加密原理:
在这里插入图片描述
例:pengeniscool

ABBBBAABAAABBABAABBAAABAAABBABABAAABAABAAAABAABBBAABBBAABABB

解密网站:https://tool.bugku.com/peigen/

9、猪圈密码

猪圈密码(亦称朱高密码、共济会暗号、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。

加密方法:
在这里插入图片描述
下图,是猪圈密码用符号与26个字母作的密码配对。
在这里插入图片描述

10、BrainFuck编码

Brainfuck是一种极小化的计算机语言,目标是建立一种简单的、可以用最小的编译器来实现的、符合图灵完全思想的编程语言。BrainFuck 语言只有八种符号,所有的操作都由这八种符号(> < + – . , [ ])的组合来完成。

例:this is brainfuck

+++++ +++++ [->++ +++++ +++<] >++++ +++++ +++++ ++.<+ ++[-> ---<] >---.
+.<++ +[->+ ++<]> +.<++ +++++ ++[-> ----- ----< ]>--. <++++ ++++[ ->+++
+++++ <]>++ +++++ ++.<+ ++[-> +++<] >+.<+ +++++ +++[- >---- ----- <]>--
.<+++ +++++ [->++ +++++ +<]>+ +.<++ ++[-> ++++< ]>.<+ +++[- >---- <]>-.
+++++ +++.+ ++++. ----- ---.< +++[- >+++< ]>+++ +++.< ++++[ ->--- -<]>-
-.+++ +++++ .<

解密网站:https://www.splitbrain.org/services/ook

11、波利比奥斯棋盘

波利比奥斯棋盘(Polybius Checkerboard)是棋盘密码的一种,是利用波利比奥斯方阵(Polybius Square)进行加密的密码方式,简单的来说就是把字母排列好,用坐标的形式表现出来。字母是密文,明文便是字母的坐标。

在这里插入图片描述

12、JSFuck编码

JSFuck是一种深奥的 JavaScript 编程风格。以这种风格写成的代码中仅使用 [、]、(、)、! 和 + 六种字符。此编程风格的名字派生自仅使用较少符号写代码的Brainfuck语言。JSFuck的标志:( ) + [ ] !

这种编码的唯一特点就是长,特别长。

例:j

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((+(!+[]+!+[]+!+[]+!+[]+[+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]])()

解密网站:http://www.jsfuck.com/

13、Unicode 编码

Unicode 编码是一种力求容纳世界上所有字符的编码格式,因此也被称为万国码、统一码等等。Unicode 编码给每一个字符都指定了统一且唯一的编码,这使得不同种类的文字可以跨语言、跨平台的应用。

例:this is Unicode

&#116;&#104;&#105;&#115;&#32;&#105;&#115;&#32;&#85;&#110;&#105;&#99;&#111;&#100;&#101;

解密网站:https://www.qqxiuzi.cn/bianma/Unicode.htm

14、HTML实体编码

在HTML中,有些字符是预留的,例如需要在网页上显示小于号(<)和大于号(>),由于它们是HTML的预留标签,可能会被误解析从而无法在浏览器上显示。这时就需要将小于号和大于号写成字符实体。

常见的HTML实体字符
在这里插入图片描述
解密网站:https://www.qqxiuzi.cn/bianma/zifushiti.php

总结: 以上是目前小白做ctf题时遇到过的一些编码,肯定还有没有总结到的,不过以后遇到会补上的。

最后分享两个在线解码网站:

http://ctf.ssleye.com/

https://www.qqxiuzi.cn/daohang.htm

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值