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@@
总结
就先这么多了,之后再更新其他的加密方法的加、解密

