mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-20 10:25:01 +08:00
60js加密轻混url加密-AES
This commit is contained in:
parent
ef79965888
commit
58854c6321
23
猿人学练习/60js加密轻混url加密-AES/aes-test.js
Normal file
23
猿人学练习/60js加密轻混url加密-AES/aes-test.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
const CryptoJS = require("crypto-js");
|
||||||
|
|
||||||
|
let value = "5"; //待加密的字符串
|
||||||
|
let secret_value = "aiding88";
|
||||||
|
|
||||||
|
// 密匙和向量处理
|
||||||
|
let secret = CryptoJS.enc.Utf8.parse(secret_value);
|
||||||
|
|
||||||
|
// 加密
|
||||||
|
let encrypted = CryptoJS.AES.encrypt(value, secret, {
|
||||||
|
// mode 支持 CBC, CFB,CTB,ECB,OFB,OFB, 默认CBC
|
||||||
|
mode: CryptoJS.mode.ECB,
|
||||||
|
|
||||||
|
// NoPadding, zeropadding 默认Pkcs7 即 pkcs5
|
||||||
|
padding: CryptoJS.pad.Pkcs7
|
||||||
|
});
|
||||||
|
|
||||||
|
// 将加密结果转换为字符串
|
||||||
|
encrypted = encrypted.toString();
|
||||||
|
|
||||||
|
console.log(secret);
|
||||||
|
console.log(value);
|
||||||
|
console.log(encrypted);
|
26
猿人学练习/60js加密轻混url加密-AES/aes_encrypt.py
Normal file
26
猿人学练习/60js加密轻混url加密-AES/aes_encrypt.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import base64
|
||||||
|
from Crypto.Cipher import AES
|
||||||
|
|
||||||
|
|
||||||
|
# AES
|
||||||
|
# 需要补位,str不是16的倍数那就补足为16的倍数
|
||||||
|
def add_to_16(value):
|
||||||
|
while len(value) % 16 != 0:
|
||||||
|
value += '\0'
|
||||||
|
return str.encode(value) # 返回bytes
|
||||||
|
|
||||||
|
|
||||||
|
# 加密方法
|
||||||
|
def encrypt(key, text):
|
||||||
|
aes = AES.new(add_to_16(key), AES.MODE_ECB) # 初始化加密器
|
||||||
|
encrypt_aes = aes.encrypt(add_to_16(text)) # 先进行aes加密
|
||||||
|
encrypted_text = str(base64.encodebytes(encrypt_aes), encoding='utf-8')
|
||||||
|
return encrypted_text
|
||||||
|
|
||||||
|
|
||||||
|
# 解密方法
|
||||||
|
def decrypt(key, text):
|
||||||
|
aes = AES.new(add_to_16(key), AES.MODE_ECB) # 初始化加密器
|
||||||
|
base64_decrypted = base64.decodebytes(text.encode(encoding='utf-8'))
|
||||||
|
decrypted_text = str(aes.decrypt(base64_decrypted), encoding='utf-8').replace('\0', '') # 执行解密密并转码返回str
|
||||||
|
return decrypted_text
|
35
猿人学练习/60js加密轻混url加密-AES/main.py
Normal file
35
猿人学练习/60js加密轻混url加密-AES/main.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import requests
|
||||||
|
from aes_encrypt import decrypt, encrypt
|
||||||
|
|
||||||
|
|
||||||
|
def challenge60(page, encrypted_text):
|
||||||
|
url = f"https://www.python-spider.com/api/challenge60/{encrypted_text}"
|
||||||
|
print(url)
|
||||||
|
payload = f"page={page}"
|
||||||
|
session = requests.session()
|
||||||
|
headers = {
|
||||||
|
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||||
|
}
|
||||||
|
session.headers = headers
|
||||||
|
response = session.request("POST", url, data=payload)
|
||||||
|
return response.json()
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
data_num = 0
|
||||||
|
for page in range(5, 101):
|
||||||
|
print('aiding88', str(page))
|
||||||
|
encrypted_text = encrypt('aiding88', str(page))
|
||||||
|
print(encrypted_text)
|
||||||
|
response_json = challenge60(page, encrypted_text)
|
||||||
|
data_list = response_json.get('data')
|
||||||
|
print(data_list)
|
||||||
|
exit()
|
||||||
|
for data in data_list:
|
||||||
|
data_num += int(data.get('value'))
|
||||||
|
print(data_num)
|
||||||
|
print(data_num)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
Loading…
x
Reference in New Issue
Block a user