各种编码及密码原理(边积累边更新)

也有看过很多大佬的总结,本来想转载一个过来,但还是决定把自己用过的亲自总结一遍,欢迎指教。

注意

1)字母矩阵注意结果可能在一行中,可能在一列中,也可能有其余情况,需要仔细观察,一般拼接后是单词

2)字母密码需要注意顺序:正序、倒序、根据格式拼接

1、凯撒加密

古典密码之一,原理:移位,一般是ASCII码移位。

很多在线工具和软件都只进行26个字母的移位,不处理符号,且在26个字母之间循环移位(Z移位变成A)。

例:aZZg/x\ZbavpZiEZp+n)o+用凯撒之后为

bAAh/y\AcbwqAjFAq+o)p+
cBBi/z\BdcxrBkGBr+p)q+
dCCj/a\CedysClHCs+q)r+
eDDk/b\DfeztDmIDt+r)s+
fEEl/c\EgfauEnJEu+s)t+
gFFm/d\FhgbvFoKFv+t)u+
hGGn/e\GihcwGpLGw+u)v+
iHHo/f\HjidxHqMHx+v)w+
jIIp/g\IkjeyIrNIy+w)x+
kJJq/h\JlkfzJsOJz+x)y+
lKKr/i\KmlgaKtPKa+y)z+
mLLs/j\LnmhbLuQLb+z)a+
nMMt/k\MonicMvRMc+a)b+
oNNu/l\NpojdNwSNd+b)c+
pOOv/m\OqpkeOxTOe+c)d+
qPPw/n\PrqlfPyUPf+d)e+
rQQx/o\QsrmgQzVQg+e)f+
sRRy/p\RtsnhRaWRh+f)g+
tSSz/q\SutoiSbXSi+g)h+
uTTa/r\TvupjTcYTj+h)i+
vUUb/s\UwvqkUdZUk+i)j+
wVVc/t\VxwrlVeAVl+j)k+
xWWd/u\WyxsmWfBWm+k)l+
yXXe/v\XzytnXgCXn+l)m+
zYYf/w\YazuoYhDYo+m)n+
aZZg/x\ZbavpZiEZp+n)o+

可以看到只在大小写字母间循环移位,对符号不予理睬,但有的题目是需要符号移位的,下面给出一个ASCII范围在33-126之内的循环移位脚本(94种结果):

代码转自:https://blog.csdn.net/dongyanwen6036/article/details/76447628

# 实现33-126ASCII能打印的字符循环平移
# 和通常凯撒加密不同注意
def change(c, i):
    num = ord(c)
    if (num >= 33 and num <= 126):
        num = 33 + (num + i - 33) % (94)  # 126-33=93
    return chr(num)


def kaisa_jiAmi(string, i):
    string_new = ''
    for s in string:
        string_new += change(s, i)
    print(string_new)
    return string_new


# 本题有种暴力解密感觉
def kaisa_jiEmi(string):
    for i in range(0, 94):
        print('第' + str(i + 1) + '种可能:', end='   ')
        # 区别在于 string 是该对象原本就是字符串类型, 而 str()则是将该对象转换成字符串类型。
        kaisa_jiAmi(string, i)


# 你要知道input输入的数据类型都是string
def main():
    print('请输入操作,注意不是平常26种:')
    choice = input('1:恺撒加密,2:凯撒穷举解密.请输入1或2:')
    if choice == '1':
        string = input('请输入需要加密字符串: ')
        num = int(input('请输入需要加密的KEY: '))
        kaisa_jiAmi(string, num)
    elif choice == '2':
        string = input('请输入需要解密字符串: ')
        kaisa_jiEmi(string)
    else:
        print('输入错误,请重试')
        main()


if __name__ == '__main__':
    main()

2、栅栏加密

古典密码之一,原理:就是把要加密的明文分成N个一组,然后把每组的第1个字分别连起来,然后再把每个组按顺序依次连接,形成一段无规律密文。

所以一般密文个数不是质数

例:2栏的栅栏密码。

比如明文:THERE IS A CIPHER

去掉空格后变为:THEREISACIPHER

两个一组,得到:TH ER EI SA CI PH ER

先取出第一个字母:TEESCPE

再取出第二个字母:HRIAIHR

连在一起就是:TEESCPEHRIAIHR

解码用工具就可以。

3、摩斯电码

这个都很熟悉,就是利用摩斯电码表来翻译明文和密文

 4、维吉尼亚加密(超级凯撒)(密码表+明文+密钥)(对称加密)

维吉尼亚密码是以凯撒加密为基础衍生出来的加密方法,利用了26个字母经过凯撒加密组成的密码表来进行加密解密。

A -A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B -B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C -C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D -D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E -E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F -F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G -G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H -H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I -I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J -J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K -K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L -L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M -M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N -N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O -O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P -P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q -Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R -R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S -S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T -T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U -U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V -V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W -W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X -X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y -Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z -Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
这就是密码表,举个例子:

明文BLOCKCIPHERDESIGNPRINCIPLE,密钥COMPUTER,我们要对明文进行加密。

明文第一个是B,密钥第一个是C,于是就找在C开头的行中和B(第一行的字母)同一列的字母:D。

明文第二个是L,密钥第二个是O,于是就找在O开头的行中和L(第一行的字母)同一列的字母:Z。

依次查找(循环使用密钥),加密结果:DZAREVMGJSDSYLMXPDDXHVMGNS

这里附上维吉尼亚密码的解密脚本:

代码转自:https://blog.csdn.net/dongyanwen6036/article/details/76716373
 
# encoding: utf-8
 
def VigenereEncryto(min,key):
	MinLen=len(min)#明文长度
	KeyLen=len(key)#密钥长度
	(q,r)=divmod(MinLen,KeyLen)#q商 r余数
	out=""
	#完整映射密钥的加密
	for i in range(0,q):
		for j in range(0,KeyLen):
		#谈谈核心代码理解结合实例
		#密钥:R
		#明文:T
		#密文:K:
		#(R-A)%26+A和(T-A)%26+A得到K===>(T-A+R-A)%26+A
		#(T-A)%26+A就是以A开头第T个元素,A与R列对齐意思即是,(R-A)%26+A就是以R头字母表,R之后的第T-A元素
			c=int((ord(min[i*KeyLen+j])-ord('A')+ord(key[j])-ord('A'))%26+ord('A'))
			out+=chr(c)
	#残余映射密钥加密
	for i in range(0,r):
		c=int((ord(min[q*KeyLen+i])-ord('A')+ord(key[i])-ord('A'))%26+ord('A'))
		out+=chr(c)
	return out
	
def VigenereDecryto(anwen,key):
	AnLen=len(anwen)#明文长度
	KeyLen=len(key)#密钥长度
	(q,r)=divmod(AnLen,KeyLen)#q商 r余数
	out=""
	#完整映射密钥的加密
	for i in range(0,q):
		for j in range(0,KeyLen):
		#已知暗文位置减去A,加上Z减去key的位置就是,A到明文长度
		#K-A+1   + Z-R===〉T-A
			c=int((ord(anwen[i*KeyLen+j])-ord('A')+1+ord('Z')-ord(key[j]))%26+ord('A'))
			out+=chr(c)
	#残余映射密钥加密
	for i in range(0,r):
		c=int((ord(anwen[q*KeyLen+i])-ord('A')+1+ord('Z')-ord(key[i]))%26+ord('A'))
		out+=chr(c)
	return out
def Lower(str):
	u=""
	for i in str:
		u+=i.lower()
	return u
 
if __name__=='__main__':
	num=input('选择维吉尼亚模式:1加密,2解密: ')
	if num=='1':
		str=input('请输入明文: ')
		key=input('请输入密钥: ')
		print('加密后的密文: '+VigenereEncryto(str,key))
		print('密文转化成小写: '+Lower(VigenereEncryto(str,key)))
	elif num=='2':
		str=input('请输入密文: ')
		key=input('请输入密钥: ')
		print('解密后的明文: '+VigenereDecryto(str,key))
		print('明文转化成小写: '+Lower(VigenereDecryto(str,key)))
	else:
		print('Error')

5、PlayFair加密(明文+密钥)(对称加密)

PlayFair使用的是5*5矩阵以及明文每两个一组的分组来加密的。

详细解释及使用参考:https://blog.csdn.net/zz_Caleb/article/details/86698112

6、盲文密码

根据盲文进行转换加密

 7、甲子年加密

这个应该是比较少见的,见过一个利用甲子年进行ASCII码转换的。

 8、ASCII码运算加密

通过对ASCII码进行各种运算进行加密。

如:

97 102 90 95 114 57 86 89 102 83 99 79 101 79 95 85 76 94 82 87 85 99
a  f   Z  _  r   9
102 108 97 103 123
flag{

ASCII码的差值递增:5、6、7.....。

9、拼音九键加密 

利用字母在九键上的位置进行加密,特点:数字为偶数个,且偶数位的数小于5(九键上一个键上的字母最多是四个)

例:335321414374744361715332

两个数为一组分开:33 53 21 41 43 74 74 43 61 71 53 32

对应九键进行查找:3键的第三个字母、5键的第3个字母、……

10、当铺密码

以汉字为基础的一种密码,若汉字中任一笔画末端无其余笔画连接,则加入计数。(也就数俗话说的出头且不被连接的地方)

如:王=6、夫=7.

11、转盘密码(密码表+明文+密钥)

给出一个CTF的题(取自bugku)(字母矩阵注意结果可能在一行中,可能在一列中,也可能有其余情况,需要仔细观察,一般拼接后是单词)

1: <ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: <KPBELNACZDTRXMJQOYHGVSFUWI <
3: <BDMAIZVRNSJUWFHTEQGYXPLOCK <
4: <RPLNDVHGFCUKTEBSXQYIZMJWAO <
5: <IHFRLABEUOTSGJVDKCPMNZQWXY <
6: <AMKGHIWPNYCJBFZDRUSLOQXVET <
7: <GWTHSPYBXIZULVKMRAFDCEONJQ <
8: <NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: <QWATDSRFHENYVUBMCOIKZGJXPL <
10: <WABMCXPLTDSRJQZGOIKFHENYVU <
11: <XPLTDAOIKFZGHENYSRUBMCQWVJ <
12: <TDSWAYXPLVUBOIKZGJRFHENMCQ <
13: <BMCSRFHLTDENQWAOXPYVUIKZGJ <
14: <XPHKZGJTDSENYVUBMLAOIRFCQW <

密钥: 2,5,1,3,6,4,9,7,8,14,10,13,11,12

密文:HCBTSXWCRQGLES

这是一个转盘加密:

比如第一个密钥匙:2、密文匙:H

把转盘第二行单独提出来   2: <KPBELNACZDTRXMJQOYHGVSFUWI <

从H的地方一直剪切,把剪切的内容放在最前面,变成    2: <HGVSFUWIKPBELNACZDTRXMJQOY <

依次类推把14行都按这样的方式整一遍就得到这个:

2:  <HGVSFUWIKPBELNACZDTRXMJQOY <
5:  <CPMNZQWXYIHFRLABEUOTSGJVDK <
1:  <BVIQHKYPNTCRMOSFEZWAXJGDLU <
3:  <TEQGYXPLOCKBDMAIZVRNSJUWFH <
6:  <SLOQXVETAMKGHIWPNYCJBFZDRU <
4:  <XQYIZMJWAORPLNDVHGFCUKTEBS <
9:  <WATDSRFHENYVUBMCOIKZGJXPLQ <
7:  <CEONJQGWTHSPYBXIZULVKMRAFD <
8:  <RJLXKISEFAPMYGHBQNOZUTWDCV <
14:<QWXPHKZGJTDSENYVUBMLAOIRFC <
10:<GOIKFHENYVUWABMCXPLTDSRJQZ <
13:<LTDENQWAOXPYVUIKZGJBMCSRFH <
11:<ENYSRUBMCQWVJXPLTDAOIKFZGH <
12:<SWAYXPLVUBOIKZGJRFHENMCQTD <

这个结果在第倒数第六行

12、26键密码

利用电脑键盘进行加密,有许多的类型,下面是本人遇到的

1)给出几组字母,每组字母在键盘上按顺序输入后轨迹会组成一个字母,把每组字母轨迹组成的字母提取出来组成密文。

2)利用键盘上字母的顺序:qwertyuiopasdfghjklzxcvbnm和26个字母顺序abcdefg……进行的运算加密,或者是将两个字母表进行顺序对应然后替换,见下表

13、JScript和VBScript脚本加密 

具体的密文具体格式目前还不太清楚,应该和下面这个类似,见过一个VBScript脚本加密:

#@~^TgAAAA=='[6*liLa6++p'aXvfiLaa6i[[avWi[[a*p[[6*!I'[6cp'aXvXILa6fp[:6+Wp[:XvWi[[6+XivRIAAA==^#~@

解密网站:https://www.dheart.net/decode/index.php

14、DES加密(密钥+明文)(对称加密)

简单介绍一下:

摘自百度百科:

DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。需要注意的是,在某些文献中,作为算法的DES称为数据加密算法(Data Encryption Algorithm,DEA),已与作为标准的DES区分开来。

 美国政府用过的加密标准,这个加密的原理很复杂,可以参考:https://blog.csdn.net/qq_27570955/article/details/52442092

解密网站:http://tool.oschina.net/encrypt

需要知道的是:1)key:8个字节共64位的工作密钥(有一位是就校验位,出去就是七位)

                         2)data:8个字节共64位的需要被加密或被解密的数据(加密后的密文很多采用base64和hex编码)

知道这key和data就能在网站上直接进行加解密了。

15、Ook加密

密文形式一(常见):

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. 

密文形式二(不常见):

..... ..... ..... ..... !?!!. ?.... ..... ..... ..... .?.?! .?... .!...
..... ..... !.?.. ..... !?!!. ?!!!! !!?.? !.?!! !!!.. ..... ..... .!.?.
..... ...!? !!.?. ..... ..?.? !.?.. ..... .!.?. ..... ..... !?!!. ?!!!!
!!!!! !?.?! .?!.? ..... ....! ?!!.? ..... ...?. ?!.?. ..... !.?.. .....
!?!!. ?!!!! !!?.? !.?!! !!!!! !!!!. ..... ...!. ?.... ...!? !!.?. .....
?.?!. ?..!. ?.... ..... !?!!. ?!!!! !!!!? .?!.? !!!!! !!!!! !!!.? .....
..!?! !.?.. ....? .?!.? ....! .!!!. !!!!! !!!!! !!!!! !!.?. ..... .!?!!
.?... ...?. ?!.?. ..... !.!!! !!!!! !.?.. ..... ..!?! !.?.. ..... .?.?!
.?... ..... !.?.

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

16、Brainfuck加密

密文形式:

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

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

17、base家族

base64:Base64编码是使用64个可打印ASCII字符(A-Z、a-z、0-9、+、/)将任意字节序列数据编码成ASCII字符串,另有“=”符号用作后缀用途。

例:bWV0YXNwb2xpdCBpcyBhIG91dHN0YW5kaW5nIHRvb2w=

base32:Base32编码是使用32个可打印字符(字母A-Z和数字2-7)对任意字节数据进行编码的方案,编码后的字符串不用区分大小写并排除了容易混淆的字符,可以方便地由人类使用并由计算机处理,另有“=”符号用作后缀用途。

例:NVSXIYLTOBXWY2LUEBUXGIDBEBXXK5DTORQW4ZDJNZTSA5DPN5WA====

base16:Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码,没有“=”后缀。

例:6D65746173706F6C69742069732061206F75747374616E64696E6720746F6F6C

有时可能会把base64和base32的后缀“=”去掉,判断时要留意。

base家族不止这三个编码方式,还有base91等,但base64是目前最常用的了。

18、escape编码

escape是对字符串(string)进行编码,作用是让它们在所有电脑上可读,其中 ASCII字母、数字、@*/+ ,这几个字符不会被编码。
编码之后的效果是%XX或者%uXXXX这种形式,可能是\也不会被编码吧,也遇到过这种:\134\170\65\143。

19、十六进制编码

就是直接把明文加密成十六进制:0x5c这样的

20、ASCII码编码

直接用十进制形式的ASCII码来进行加密,直接转换即可

21、HTML加密

形式:

&#102;&#108;&#97;&#103;&#37;&#55;&#66;&#99;&#116;&#102;&#95;&#116;&#102;&#99;&#50;&#48;&#49;&#55;&#49;&#55;&#113;&#119;&#101;&#37;&#55;&#68;

22、MD5加密

MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。

密文以0-9和a-f组成:0ca175b9c0f726a831d895e269332461

MD5是不可逆的加密方式,也就是说不可能被解密,但可以使用撞库的方法来解,就是在存放密文-明文的库中寻找和已知密文对应的密文-明文对,从而找出明文。

23、银河字母加密

标准银河字母表:

24、ROT13

原理:(摘自百度百科)

套用ROT13到一段文字上仅仅只需要检查字元字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后序列反转:N换成A、O换成B、最后Z换成M。只有这些出现在英文字母里头的字元受影响;数字、符号、空白字元以及所有其他字元都不变。因为只有在英文字母表里头只有26个,并且26=2×13,ROT13函数是它自己的逆反: [1] 

对任何字元x:ROT13(ROT13(x))=ROT26(x)=x

换句话说,两个连续的ROT13应用函式会回复原始文字(在数学上,这有时称之为对合(involution);在密码学上,这叫做对等加密(reciprocalcipher))。

转换可以利用查找表完成,如下例所示:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

例如,下面的英文笑话,精华句为ROT13所隐匿:

How can you tell an extrovert from an

introvert at NSA?Va gur ryringbef,

gur rkgebireg ybbxf ng gur BGURE thl'f fubrf.

透过ROT13表格转换整片文字,该笑话的解答揭露如下:

Ubj pna lbh gryy na rkgebireg sebz na

vagebireg ng AFN?In the elevators,

the extrovert looks at the OTHER guy's shoes.

第二次ROT13函数将转回原始文字。

 25、utf7编码

这个编码好像已经不用了:

格式如下:前面是+号,后面是-号

+AGsAZQB5ADoAaQBhAG0AdQB0AGYANwBIAG4AYwBGQAZQBk-

26、aaencode

aaencode:将JS代码转换成常用的网络表情。直接在控制台就能解密。

加密网站:http://utf-8.jp/public/aaencode.html

例:゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

27、jjencode

jjencode:将JS代码转换成只有符号的字符串。jjencode可以用自定义的符号对代码进行混淆,并且实际上的效果和加密的效果是一样的,因为如果不知道自定义的符号 key,过程是不可逆的。

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+",\\"+$.$__+$.___+"\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$.$$$+"."+$._$+"\\"+$.__$+$.$_$+$.__$+$.$$__+"\\"+$.__$+$.$$_+$.__$+"\\"+$.__$+$.$$$+$._$_+$._$+"\\"+$.__$+$.$_$+$.$$_+$.$$$_+"."+$.$$__+$._$+"\\"+$.__$+$.$_$+$.$_$+"\\\"\\"+$.$__+$.___+")"+"\"")())(); 

 28、xor加密

解密很简单,直接进行异或就行了,给个例子:https://blog.csdn.net/zz_Caleb/article/details/88587238

29、64进制加密

64进制用的是base64的索引表进行的加密:

 例:https://blog.csdn.net/zz_Caleb/article/details/88586839

 

转载于:https://www.cnblogs.com/RenoStudio/p/10541918.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值