JS逆向之解密之DES,AES加/解密
前言
DES,AES都是对称加密,为可逆加密,类似的还有3DES加密等
一、DES的加、解密
密钥必须是8位或者16位,必须为bytes,超过8位或16位取前8位或16位
from Crypto.Cipher import AES, DES t = str(time.time())[:8] #时间错前8位 key = f{ t}.encode() #转化bytes cryptor = DES.new(key=key, mode=DES.MODE_ECB) encrypted_text = cryptor.encrypt(pad(fhttp://spider.wangluozhe.com/challenge/3|{ t}).encode(utf-8)) # 加密 plain_text = cryptor.decrypt(encrypted_text).decode().rstrip( ) # 解密 print(encrypted_text) #结果 bxb9x1dBx13Icxd2x93xxabLx0e(Arx85x0exadxb0xec\x82xd9x86#xce3x93)xf2xfdxf6xda.8 xa9Zxdax15xebxd7xe9xb0Qxd9Nx85;xbbxa6xf6xb5x8dx85xe7 print(plain_text) #结果 http://spider.wangluozhe.com/challenge/3|16279904
二、AES的加、解密
AES与DES加密差不多
from Crypto.Util.Padding import pad from Crypto.Cipher import AES, DES m = str(int(time.time() * 1000)) #13位时间戳 key = (m+123).encode() #填充为16位密钥 cryptor = AES.new(key=key, mode=AES.MODE_ECB) data = cryptor.encrypt(pad(123456789@@.encode(), AES.block_size)) #加密 plain_text = cryptor.decrypt(data).decode() #解密 print(data) #结果 bPx92xbaxa1x89xe8 xddx11Uxf3xb7Dx92x9axd6 print(plain_text) #结果 123456789@@
总结
就先这么多了,之后再更新其他的加密方法的加、解密