找登錄包后看到三個參數:
1.token(網頁刷新直接頁面就可以通過f12搜尋到)
2.email
3.password(加密)
剩下就是尋找加密函數了,搜索token后看到頁面加密的位置,encryptPass('emailPwdInp'),那麽接下來搜索 encryptPass
找到加密函數了
function encrypt (str) {
const key = CryptoJS.enc.Utf8.parse("idcsmart.finance")
const iv = CryptoJS.enc.Utf8.parse("9311019310287172")
var encrypted = CryptoJS.AES.encrypt(str, key, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: iv,
}).toString()
return encrypted
}
function encryptPass (id) {
let pwd = document.getElementById(id)
pwd.value = encrypt(pwd.value)
return true
}
既然有了加密函數,那麽剩下的交給gpt來生成python代碼,如下:
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64
def encrypt_aes(data, key, iv):
"""
使用 AES 加密數據
Args:
data: 需要加密的數據 (bytes)
key: 密鑰 (bytes)
iv: 初始化向量 (bytes)
Returns:
加密後的 Base64 編碼字串
"""
cipher = AES.new(key, AES.MODE_CBC, iv)
ciphertext = cipher.encrypt(pad(data, AES.block_size))
return base64.b64encode(ciphertext).decode('utf-8')
def encrypt_password(password, key, iv):
"""
加密密碼
Args:
password: 需要加密的密碼 (str)
key: 密鑰 (bytes)
iv: 初始化向量 (bytes)
Returns:
加密後的 Base64 編碼字串
"""
return encrypt_aes(password.encode('utf-8'), key, iv)
# 示例用法
key = b'idcsmart.finance' # 密鑰 (bytes)
iv = b'9311019310287172' # 初始化向量 (bytes)
password = "[email protected]" # 需要加密的密碼 (str)
encrypted_password = encrypt_password(password, key, iv)
print(encrypted_password)
這是python生成的和原網站生成的
教程結束。