← 返回题库
中级

实现设备上报数据XOR解密(模拟AES)

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd, json
    keys_csv = open_url(____).read()
    keys = pd.read_csv(StringIO(____))
    KEY = 0x5A
    def xor_encrypt(____):
        return bytes([b ^ KEY for b in data_str.encode()]).hex()
    def xor_decrypt(____):
        data = bytes.fromhex(____)
        return bytes(____).decode(____)
    payload = json.dumps(____)
    encrypted = xor_encrypt(____)
    decrypted = xor_decrypt(____)
    print(____)
    print(____)
    print("____" + str(____))
    tampered = encrypted[:____] + '____' + encrypted[____:]
    decrypted_tampered = xor_decrypt(____)
    try:
        json.loads(____)
        print(____)
    except:
        print(____)

示例

输入
solve()
期望输出
Original: {"id": "ESP-001", "ts": 1748736000, "t": 22.5, "h"...
Encrypted (hex, first 32): 2178333e78607a781f090a776a6a6b78...
Decrypted matches: True
Tampered: invalid JSON (detected)
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码