某智能门禁系统的一个子系统功能是完成身份认证功能。智能终端通过用户刷卡或者指纹获取 用户 ID 数据,加密后发送到 Web 服务器,通过对比数据库中的用户信息完成身份认证并留下登 录记录。该子系统部分功能实现如下,请回答相关问题。

(1)该子系统架构图如图 a 所示,那么图中①处最合适的选项是
_____________(单选,填字母:A.交换机 / B.防火墙 / C.服务器)
(2)智能终端读取到用户ID后将加密后的ID和加密后密钥一起发送到服务器,部分程序如下,若密文是“486896762”,加密后密钥是“71”,那么系统发送数据的URL是
____________。
from microbit import *
import random, Obloq
IP="192.168.113.5" ; PORT="80"
SSID="freeWiFi" ; PASSWORD="103103103"
#上述参数设置uart串口并用Obloq模块建立网络连接,代码略
Obloq.httpConfig(IP, PORT)
while True:
key=random.randint(3, 9)
#随机产生密钥
enkey=ord("A")^key
#加密后的密钥,如71,^表示异或运算
#读取身份证号信息并使用密钥key进行加密,
#加密后身份证保存在字符串idnum中,如486896762,代码略
err, res=Obloq.get("login?u="+idnum+"&k="+str(enkey))
if err==200:
print("用户信息发送成功!")
sleep(5*1000)
(3)为了保证数据在网络传输过程中的安全,小林设计了如下简单加密算法,如图b所示:

①用户ID由数字字符组成,如“820230106”,采用替代加密,若密钥是 6,则用户 ID 的加密结果是“486896762”;
②由于密钥6也要在网络中传输,因此密钥也要加密,小林采用字符“A”的 ASCII 码进行简单异或加密,加密结果是65⊕6=71;
③接收端先对加密的密钥进行解密:71⊕65=6,然后用该密钥解密密文,结果是用户ID的明文“820230106”。
以下服务端程序实现了解密与用户身份验证过程,请将该算法补充完整。
from flask import Flask, render_template,request
app=Flask(__name__)
@app.route("/")
def index():
return render_template("home.html")
@app.route("
①___________________",methods=["GET"])
def decode():
usr=request.args.get("u") # 接收到的用户 ID 密文,数字字符串格式
enkey=int(request.args.get("k")) # 接收到的已加密的密钥,整数格式
key=enkey^ord("A") # 对加密过的密钥进行解密
res=""
for i in range(len(usr)):
num=(
②___________________________+10)%10
res=res+str(num)

if __name__=="__main__":
app.run(host="0.0.0.0",port="80",debug=True)
(4)若系统数据库为“sys.db”,存储已授权用户信息的数据表为“users”,用户信息字段名为“userid”,则上述加框处查询用户信息的SQL语句是
( )(单选,填字母)
A."SELECT * FROM users WHERE userid=%s"%res
B."SELECT * FROM sys WHERE usr=%s"%userid
C."SELECT * FROM sys WHERE userid='urs'"
D."SELECT * FROM users WHERE userid='res'"