#SECPR001. SEC-PR-001 实操一 联系方式脱敏
SEC-PR-001 实操一 联系方式脱敏
SEC-PR-001 · 数据安全技术人员 · 专项 · 满分 25 分 · 基础与进阶
可提交 C、C++、Java、Python 3 和 Node.js。评测机没有安装 Kotlin、PyPy,也没有支持大整数的 GNU awk,因此不开放 Kotlin、PyPy 和 Bash。
业务与规则
1. type为PHONE或ID。PHONE有效条件:长度11、全部为ASCII数字、首位为1;输出前3位+4个星号+后4位。
2. ID有效条件:长度18、前17位为ASCII数字、末位为ASCII数字或大写X;输出前4位+10个星号+后4位。
3. NA及不满足规则的值输出INVALID。ID仅按以上格式验证,不验证真实证件校验位、地区或生日;掩码不代表完全匿名。
输入
第一行n;随后n行rid type value。rid唯一,value无空格,全部数据为合成数据。
输出
每行输出rid及脱敏值或INVALID,空格分隔,保持输入顺序。
范围
0≤n≤100000;value长度1至30;建议2秒、256MB,按语言校准。仅采用ASCII字符;输出文本精确匹配。
样例输入
4
R1 PHONE 13800138000
R2 ID 12345678901234567X
R3 PHONE 23800138000
R4 ID NA
样例输出
R1 138****8000
R2 1234**********567X
R3 INVALID
R4 INVALID
附件中的 sample.in、sample.out 与上面样例一致,不计入 25 分。计分点见测试配置,按点给分。
整数和文本按空白分隔后的 token 精确比较;小数允许绝对误差或相对误差 1e-6。时限 2 秒、内存 256MB;Java、Python 3 和 Node.js 时限按 2 倍,Java 内存按 2 倍。
题族:SEC-PR-001。状态:公开样题。组卷:否。公开:是。