登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
开发一份API接口,需要注意这些,看你做到了几项 ...
开发一份API接口,需要注意这些,看你做到了几项
[ 复制链接 ]
眩疝诺
2025-6-6 14:08:21
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
在实际工作中,我们需要经常跟外部三方系统打交道,可能会提供API接口给外部三方系统调用。
API接口通常通过WebController来实现。如果设计一个优雅的API接口,能够满足安全性、稳定性、易维护等多方面需求呢?
下面几项,看你做到了哪些。
1. 数字签名
为了防止API接口中的数据被篡改,我们需要对接口做签名。签名密钥由请求方和提供方互存,不参与网络传输。
接口请求方将请求参数 + 时间戳 + 密钥拼接成一个字符串,然后通过md5等hash算法,生成一个签名sign。
然后在请求参数或者请求头中,增加sign参数,上送给API接口。
API接口的网关服务,获取到该sign值,然后用相同的请求参数 + 时间戳 + 密钥拼接成一个字符串,用相同的m5算法生成另外一个sign,对比两个sign值是否相等。
如果两个sign相等,则认为是有效请求,API接口的网关服务会将给请求转发给相应的业务系统;如果两个sign不相等,则API接口的网关服务会直接返回签名错误。
BTW,提个问题:签名中为什么要加时间戳?
答:为了安全性考虑。一来,通过不同的时间戳,可以有效减少签名相同的概率。二来,API接口的网关服务可以校验时间戳,与服务器当前时间是否吻合(实际生产中会容许几秒的差异),不吻合就直接返回非法请求。
目前生成数字签名的密钥有3种形式:
一种是双方约定一个固定值privateKey。
另一种是API接口提供方给出AK/SK两个值,双方约定用SK作为签名中的密钥。AK接口调用方作为header中的accessKey传递给API接口提供方,这样API接口提供方可以根据AK获取到SK,而生成新的sgin。
第3种是使用非对称加密算法生成签名,常见的是RSA。RSA包含一对公私钥,其中一方保留自己的私钥,并将公钥提供给另一方。调用方发起API请求时通过私钥加签,另一方则通过其公钥验签。
我们可以使用在线工具生成密钥对:https://tools.ytdevops.com/rsa-key-pair-generator
2. 敏感数据处理
有些时候,我们的API接口会直接传递非常重要的数据,比如:用户的登录密码、银行卡号、手机号、用户身份证等,将这些参数直接明文暴露到公网上是非常危险的事情,很容易造成用户隐私数据泄露。
这些用户隐私数据被称作敏感数据。那么,针对敏感数据,API设计上我们怎么做呢?
一句话:
对于交易类接口,涉及敏感数据的,做加密处理。对于非交易类接口,涉及敏感数据的,考虑做脱敏处理。
当然,还有一个原则是,
非需不返回用户隐私数据
。
敏感数据加密
数据加密通常使用对称加密算法。如AES、DES、3DES。双方互存加密秘钥encryptKey。一方利用encryptKey加密,另一方利用encryptKey解密。
当然,也可以对数据进行RSA非对称加密。调用方利用API提供方的公钥对数据加密,API提供方则利用自己的私钥对数据解密。
需要指出的是,无论是RSA加密还是RSA签名,服务提供方的公私钥只有一份,而不同的外部三方系统应持有不同的公私钥。
另外,对于用户敏感数据,服务提供方在合法合规的前提下,应做加密存储,而不是直接明文存储。
敏感数据脱敏
为保护用户隐私,用户的敏感信息经常要做脱敏处理。尤其在支付系统或金融系统,数据安全是第一要务,数据的脱敏处理更是必选项。
数据脱敏,指的是将用户敏感数据的一部分字符用特殊字符作为掩码来表示。
【身份证号脱敏示例】110115201406180712 脱敏后:110115********0712
【银行卡号脱敏示例】9558820200019833888 脱敏后:955882*********3888
【手机号脱敏示例】18810754438 脱敏后:188******38
这样即使数据被泄露了,也只泄露了一部分,不法分子拿到这份数据也没啥用。
算法实现原理很简单,就是保留头尾字符,把中间的部分用特殊字符如星号“*”作为掩码来表示。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
开发
一份
API
接口
需要
相关帖子
AI开发-python-milvus向量数据库(2-6 -milvus-collection查看、加载、释放)
抖音数据分析MCP开发
AI开发-python-milvus向量数据库(2-7 -milvus-精确使用模式创建collection)
OpenClaw+OpenViking + NVIDIA API 配置教程
OpenClaw+OpenViking + NVIDIA API 配置教程
OpenClaw+OpenViking + NVIDIA API 配置教程
接口测试基础概念
AI开发-python-milvus向量数据库(2-8 -milvus-数据插入collection)
解惑|公司员工健身房需要哪些器材?上海皓衍按需适配,不浪费每一分投入
手把手教你使用vscode开发stm32!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
AI开发-python-milvus向量数据库(2-6 -milvus-collection查看、加载、释放)
0
215
蓟晓彤
2026-02-17
安全
抖音数据分析MCP开发
0
450
琴丁辰
2026-02-17
安全
AI开发-python-milvus向量数据库(2-7 -milvus-精确使用模式创建collection)
1
28
辖瑁地
2026-02-18
业界
OpenClaw+OpenViking + NVIDIA API 配置教程
0
531
染罕习
2026-02-18
业界
OpenClaw+OpenViking + NVIDIA API 配置教程
0
807
秤陷曲
2026-02-18
业界
OpenClaw+OpenViking + NVIDIA API 配置教程
0
3
晌集涟
2026-02-18
业界
接口测试基础概念
0
303
羊舌正清
2026-02-19
安全
AI开发-python-milvus向量数据库(2-8 -milvus-数据插入collection)
1
69
垢峒
2026-02-20
安全
解惑|公司员工健身房需要哪些器材?上海皓衍按需适配,不浪费每一分投入
0
752
绂染
2026-02-20
业界
手把手教你使用vscode开发stm32!
0
699
谯梨夏
2026-02-20
回复
(22)
芮梦月
2025-12-1 01:37:00
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
过来提前占个楼
兮督
2026-1-20 02:29:09
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
啖曼烟
2026-1-20 14:57:08
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
申屠梓彤
2026-1-20 16:26:20
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
喳谍
2026-1-22 08:43:04
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
分享、互助 让互联网精神温暖你我
柏雅云
2026-1-22 19:58:01
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
轩辕娅童
2026-1-25 03:04:10
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
任佳湍
2026-1-27 17:05:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
滑清怡
2026-1-28 03:02:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
诘琅
2026-1-30 16:39:52
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
愤血冒
2026-2-5 08:59:29
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
庇床铍
2026-2-7 07:40:03
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
向梦桐
2026-2-8 05:41:34
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
第璋胁
2026-2-8 09:15:58
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
党新苗
2026-2-9 06:29:47
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
忙贬
2026-2-9 11:29:25
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
赶塑坠
2026-2-9 16:07:01
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
炀餮氢
2026-2-10 03:38:33
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
鲫疹
2026-2-10 16:21:15
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
代码
安全
签约作者
程序园优秀签约作者
发帖
眩疝诺
2026-2-10 16:21:15
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9898
6
韶又彤
9918
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9883
10
遗憩
10006
查看更多
今日好文热榜
707
【节点】[MainLightShadow节点]原理解析与
626
模拟退火算法
898
Claude Code 的 Skills 可以在 Trae IDE 中
252
付费 AI 用户和免费用户之间,究竟差了什么
698
手把手教你使用vscode开发stm32!
1002
“老东西,你懦弱了”——关于Vibe Coding
925
告别Hyprland/Niri键鼠共享难题:Pynergy
752
解惑|公司员工健身房需要哪些器材?上海皓
518
凸优化数学基础笔记(六):凸集、凸函数与
389
SeeDance2.0提示词之跳舞女孩
11
SeeDance2.0提示词之跳舞女孩
683
国内零门槛首个免费 开源 7×24小时帮
572
[拆解LangChain执行引擎]非常规Pending Wri
69
AI开发-python-milvus向量数据库(2-8 -mil
80
[LKD/Linux 内核] 关于对 current_thread_i
8
[LKD/Linux 内核] 关于对 current_thread_i
7
[LKD/Linux 内核] 关于对 current_thread_i
539
杂题选做(3)
7
9、PipedInputStream和PipedOutputStream的
858
【节点】[MainLightRealtimeShadow节点]原