API权限设计总结
程序员文章站
2023-12-28 19:18:58
...
加密方式 md5(POST参数(升序排序,除key sign参数除外) + 用户密钥)
PHP加密算法代码:
[php]
foreach ($p as $v) {
$temp = explode("=", $v);
$pArr[$temp[0]] = $temp[1];
}
ksort($pArr);
foreach ($pArr as $k => $v) {
$pStr2 .= $k . $v ;
}
md5($pStr2 . $secret)
注意:加密的时候,需要将timestamp带上,防止客户端篡改。
客户端,将自己需要传递的参数进行升序排序,然后加上自己key对应的密钥(密钥在服务端数据库中有一份保存,这个是不能对外公开的)进行MD5加密,通过参数sign传递到服务端。
服务端拿到sign值后,对传递过来的参数也进行同样的算法排序,并经过用户的key查询得到密钥,然后进行一次加密算法,得到的服务端的sign和客户端传递过来的sign进行比较,如果相同则表示是可以通过的,如果中途有人篡改数据等,那么最终加密出来的sign就是不一致的,这样保证了用户传递数据的可靠性和安全性。
推荐阅读
-
API权限设计总结
-
C#设计模式-观察者模式的另类的示例代码总结
-
API测试框架设计---基于Pytest
-
50-互联网安全架构-互联网API开放平台安全设计-基于OAuth2.0协议方式
-
互联网并发与安全系列教程(10) -基于URL转码方式实现API设计
-
3 -【 API 开放平台安全设计 】- 5 抓包工具分析 HTTP 请求
-
记录下Flarum论坛API设计 flash小游戏 加载api flash as3.0 api flash api下
-
使用LLVM 封装的API生成IR常用方法总结
-
对javascript的一点点认识总结《javascript高级程序设计》读书笔记_javascript技巧
-
SpringBoot+Spring Security+JWT实现RESTful Api权限控制的方法