方法一,固定一个值,如md5('www.111cn.net') 然后把生成的字符在url或post传递时进行验证
方法二,稍微复杂点双方约定好生成的格式
下面例子www.111cn.net简单讲解PHP接口开发加密技术:
如app要请求用户列表,api是“index.php?module=user&action=list”
app生成token = md5sum
(‘user’.’2012-11-28′.’www.111cn.net’.list) = 880fed4ca2aabd20ae9a5dd774711de2;
则实际发起请求为 “index.php?module=user&action=list&token=880fed4ca2aabd20ae9a5dd774711de2”
服务器端接到请求用同样方法计算token:
$module = $_GET['module'];
$module = $_GET['module'];
$action = $_GET['action'];
$token = md5sum($module.date('Y-m-d',time()).'www.111cn.net'.$action);
if($token != $_GET['token']){
alarm('access deny');
exit();
}
例如:
function sign(){
$module = $_GET['module'];
$module = $_GET['module'];
$action = $_GET['action'];
$token = md5sum($module.date('Y-m-d',time()).'www.111cn.net'.$action);
if($token != $_GET['token']){
alarm('access deny');
exit();
}
function login(){
sign();
function login(){
sign();
}
1.参数 time 为Unix 时间戳(January 1 1970 00:00:00 GMT 起的秒数) ,单位为秒
2.编码统一使用 UTF-8
3.接口请求方式为 GET
4.参数sign里的md5加密的“+”号是字符串连接符号,并且要把md5后的字符串转成小写
5.key双方协定或是一方处理完知会另一方