Skip to content

使用 python 进行卡密创建

python
import json
import time
import base64
import requests
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import padding

class NetworkAuthenticationAPI:
    def __init__(self, key: str, base_url: str, software_id: str):
        self.key = bytes.fromhex(key)  # 16 字节密钥
        self.iv = bytes(16)  # 16 字节全零 IV
        self.base_url = base_url
        self.software_id = software_id

    def encrypt_data(self, data: dict) -> str:
        # 创建加密器
        cipher = Cipher(algorithms.AES(self.key), modes.CBC(self.iv), backend=default_backend())
        encryptor = cipher.encryptor()

        # 将数据转换为 JSON 字符串
        plaintext = json.dumps(data)

        # 填充明文
        padder = padding.PKCS7(algorithms.AES.block_size).padder()
        padded_data = padder.update(plaintext.encode()) + padder.finalize()

        # 加密
        ciphertext = encryptor.update(padded_data) + encryptor.finalize()

        # 编码为 Base64 以便于传输
        encoded_ciphertext = base64.b64encode(ciphertext).decode('utf-8')
        return encoded_ciphertext

    def create_network_authentication(self, day: int, remark: str) -> dict:
        # 构建请求数据
        data = {
            "day": day,
            "remark": remark,
            "times": int(time.time() * 1000)
        }

        # 加密数据
        encoded_ciphertext = self.encrypt_data(data)

        # 发送请求
        url = f"{self.base_url}/createNetworkAuthentication"
        params = {
            'info': encoded_ciphertext,
            'softwareId': self.software_id,
            'isAPI': 'y'
        }
        response = requests.get(url, params=params)

        # 返回响应的 JSON 数据
        return response.json()

# 示例使用
if __name__ == "__main__":
    key = '45BDD3D93E4E4D03A967AF32819FEF13'
    base_url = "https://api.2018k.cn/v3"
    software_id = 'A5FF52C49A6740F6A7383857162C8C9E'

    api = NetworkAuthenticationAPI(key, base_url, software_id)
    response = api.create_network_authentication(day=1, remark="通过卡密创建")
    print(response)

本平台仅用于提供软件更新检测和验证,严禁用于非法目的,否则造成一切后果自负!如内容侵害到你的权益,请联系我们 chinahaha@qq.com