最小可运行示例:用数据脱敏API快速屏蔽手机号、身份证等敏感信息
适用场景在开发与运维中敏感信息明文外泄是数据合规的常见风险。数据脱敏敏感信息掩码API 适合以下场景日志脱敏后端服务打印请求/响应日志时拦截手机号、身份证号等字段替换为138****8000形式避免审计时泄漏。前台展示列表页、详情页需要展示部分脱敏后的用户信息如“张*”、“138****8000”。数据导出 / 测试库从生产库导出数据到测试环境前一键清洗敏感字段防止开发人员接触明文。安全审计对于已落库的文本进行二次扫描和掩码满足等保合规要求。该 API 采用纯本地正则匹配不存储任何用户数据毫秒级返回适合在请求链路中作为中间件调用。接口能力边界维度说明支持类型phone手机号、idcard15/18 位身份证、bankcard16-19 位银行卡、email邮箱、name中文姓名类型组合请求时通过types参数逗号分隔指定例如phone,email。省略或设为all则自动检测所有支持类型文本长度单次请求text最长50000 字节约 5000 个中文字符超限将返回 400 错误性能纯内存正则匹配单条 100 字文本通常在 5ms 内返回QPS10 次/秒以官方文档为准建议批量调用时自行控制速率原文回显with_original参数控制detections中是否包含原文默认false避免日志泄漏请求参数与鉴权请求地址POST https://v1.apizero.cn/api/desensitize鉴权方式请求头中必须携带X-API-Key值为你的 API Key。获取方式请参考官方文档不在此赘述。请求头Content-Type: application/json X-API-Key: YOUR_API_KEY_HERE请求体JSON字段类型必填默认值说明textstring是无要脱敏的原始文本最长 50000 字节typesstring否all类型逗号分隔phone,idcard,bankcard,email,name或allwith_originalboolean否false是否在detections中回显原文字段建议保持false请求体示例脱敏手机和姓名无需原文{ text: 联系人张三电话 13812348000, types: phone,name, with_original: false }最小可运行示例curl以下命令使用环境变量$APIZERO_API_KEY保存密钥请提前设置或直接替换为你的 Key。curl -sS \ -X POST \ -H X-API-Key: $APIZERO_API_KEY \ -H Content-Type: application/json \ -d { text: 您好我是李明身份证 110101199001011234银行卡 6222021234567890123邮箱 limingexample.com, types: idcard,bankcard,email,name, with_original: false } \ https://v1.apizero.cn/api/desensitize预期响应字段解释见下一节{ code: 0, msg: 成功, data: { masked_text: 您好我是李*身份证 110101********1234银行卡 622202******7890邮箱 l****example.com, detection_count: 4, detections: [ { type: name, masked: 李* }, { type: idcard, masked: 110101********1234 }, { type: bankcard, masked: 622202******7890 }, { type: email, masked: l****example.com } ], summary: { name: 1, idcard: 1, bankcard: 1, email: 1 }, types_applied: [idcard,bankcard,email,name] } }注意masked_text中的脱敏规则由服务端正则决定调用方无需自行实现掩码逻辑。代码接入Python以下示例使用requests库适合在 Python 项目中快速集成。import requests API_URL https://v1.apizero.cn/api/desensitize API_KEY your-api-key-here # 请替换 def desensitize(text, typesall, with_originalFalse): headers { X-API-Key: API_KEY, Content-Type: application/json } payload { text: text, types: types, with_original: with_original } resp requests.post(API_URL, jsonpayload, headersheaders) resp.raise_for_status() return resp.json() # 使用示例 result desensitize( text我叫王五手机 18612345678邮箱 wangwutest.com, typesphone,email,name ) print(result[data][masked_text]) # 输出: 我叫王*手机 186****5678邮箱 w****test.com返回字段解读成功响应中的data对象包含以下字段字段类型说明masked_textstring整段文本脱敏后的结果可直接用于展示或存储detection_countinteger本次检测并脱敏的敏感信息总数detectionsarray每项包含type类型和masked脱敏后的值summaryobject按类型统计的计数例如{phone: 1, name: 2}types_appliedarray[string]本次实际应用的脱敏类型列表与请求的types有关如果with_original为true则detections中还会增加original字段存放脱敏前的原文。建议仅在调试时开启生产环境保持 false。常见错误与排查HTTP 状态码code可能原因处理建议401–API Key 缺失或无效检查X-API-Key头是否正确Key 是否过期40010001text参数为空或超过 50000 字节检查文本长度使用len(text.encode(utf-8))确认字节数40010002types参数包含不支持的类型仅使用phone,idcard,bankcard,email,name或all500–服务端临时异常重试若持续失败请检查官方文档状态页调试技巧将with_original设为true并观察detections中的original值确认正则是否覆盖了你的文本格式。例如身份证末尾带X、座机号非手机号会被忽略因为当前只支持手机号。工程化注意事项避免在日志中记录原文即使 API 默认不返回原文也不应将masked_text与text同时记录到日志。建议在调用 API 之前就用一个临时变量传递原始文本仅存在于内存中。批量处理时注意 QPS 限流官方文档标明 QPS 为 10对于超过 10 条/秒的批量任务需在客户端添加限流器如 token bucket。可使用time.sleep(0.1)简单控制或使用asyncio并发加信号量。编码统一确保传给 API 的文本为 UTF-8 编码尤其是从文件或第三方系统读取的数据。特殊字符处理文本中若包含换行符、制表符等API 能够正常处理但请求 JSON 中text字段需正确转义curl 中建议使用单引号包裹避免 shell 转义。降级方案如果 API 不可用建议本地准备一套轻量正则作为兜底例如仅脱敏手机号避免核心链路中断。自定义脱敏类型当前 API 不支持自定义正则若有特殊格式如护照号、军官证号需自行在业务层处理。参考文档数据脱敏 API 文档页https://apizero.cn/aidocs/desensitize原始 Markdown 文档https://apizero.cn/aidocs/desensitize/raw.md

相关新闻

从零开始:网站测速诊断 API 的最小 curl 与 Python 接入

从零开始:网站测速诊断 API 的最小 curl 与 Python 接入

适用场景 无论是个人博客、企业服务还是 CDN 加速节点,网站的访问速度直接影响用户体验。传统的测速工具通常需要手动操作或依赖图形界面,无法方便地集成到自动化脚本或监控系统中。网站测速诊断 API 提供了一次接口请求即可获取 DNS 解析、TCP 连接、SS…

2026/11/3 18:03:45 阅读更多 →
文本审核API在内容安全中的能力边界与实战接入解析

文本审核API在内容安全中的能力边界与实战接入解析

适用场景:文本审核在哪些环节中落地? 内容安全是UGC平台的刚性需求。文本审核API适用于以下典型场景: 用户评论与弹幕审核:在发表前实时同步检测,拦截涉政、谩骂、色情等违规内容,避免公开展示。社区帖子…

2026/10/29 15:46:11 阅读更多 →
键盘连击终结者:让老旧机械键盘重获新生

键盘连击终结者:让老旧机械键盘重获新生

键盘连击终结者:让老旧机械键盘重获新生 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否曾在输入重要文档时&#xff…

2026/11/1 20:25:07 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/3 1:09:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/3 10:57:27 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/3 11:35:49 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/3 2:27:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/3 10:47:27 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/3 10:57:33 阅读更多 →

日新闻

周新闻

月新闻