← 返回题库
中级

API Key生成与哈希存储

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    api_keys_csv = open_url(____).read()
    import pandas as pd, hashlib, secrets
    from io import StringIO
    api_keys = pd.read_csv(StringIO(____))
    def generate_api_key(____):
        raw = prefix + secrets.token_urlsafe(____)
        key_hash = hashlib.sha256(raw.encode()).hexdigest()
        return raw, key_hash
    def verify_api_key(____):
        return hashlib.sha256(provided_key.encode()).hexdigest() == stored_hash
    print(____)
    print(____)
    for _ in range(____):
        raw, h = generate_api_key()
        verified = verify_api_key(____)
        tampered = verify_api_key(____)
        print(____)

示例

输入
solve()
期望输出
现有API Keys (hash存储): 6 条
有效: 5, 已撤销: 1
key=sk_D_rGbkyFP..., hash=3e85b274ca7fa100..., verify_ok=True, tampered=False
key=sk_g5nk3zTgL..., hash=287b25a97c0d54fa..., verify_ok=True, tampered=False
key=sk_APM_S7-lS..., hash=0996f3879df27085..., verify_ok=True, tampered=False
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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