初级
验证传感器设备API Key
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd, hashlib
keys_csv = open_url("https://data.zuihe.com/dbd/ms-greenfarm/state_02/device_keys.csv").read()
keys = pd.read_csv(StringIO(keys_csv))
def verify_api_key(device_id, provided_key):
row = keys[(keys['device_id']==device_id)&(keys['is_active']==1)]
if row.empty: return False, 'key_not_found_or_inactive'
h = hashlib.sha256(provided_key.encode()).hexdigest()
if h == row.iloc[0]['key_hash']: return True, 'ok'
return False, 'key_mismatch'
tests = [
('SOIL-A01','fk_greenfarm_soil-a01_1'),
('SOIL-A01','wrong_key'),
('SOIL-A03','fk_greenfarm_soil-a03_3'),
('SOIL-X99','any_key'),
]
print("API Key verification:")
for did, key in tests:
ok, msg = verify_api_key(did, key)
print(" "+did+": ok="+str(ok)+" "+msg)
示例
输入
solve()
期望输出
API Key verification: SOIL-A01: ok=True ok SOIL-A01: ok=False key_mismatch SOIL-A03: ok=False key_not_found_or_inactive SOIL-X99: ok=False key_not_found_or_inactive
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199