// 生成签名
private function makeSignature($params)
{
foreach ($params as $key=>$value){
$arr[$key] = $key;
}

sort($arr); //字典排序的作用就是防止因为参数顺序不一致而导致下面拼接加密不同
$str = "";
foreach ($arr as $k => $v) {
$str = $str.$arr[$k].$params[$v];
}

$resStr=$str.$secret;
$signature = strtoupper(sha1($resStr));
$params['signature'] = $signature;
return $params;
}

// 签名验证
public function validSignature($params)
{
$signature = $params['signature'];

unset($params['signature']);
$newSign = $this->makeSignature($params);
if($signature == $newSign['signature']){
return true;
} else {
return false;
}
}

最新文章

  1. [C#基础]说说委托+=和-=的那些事
  2. css3实现条纹背景
  3. WEB跨域的实现
  4. Oracle 动态视图6 V$PROCESS
  5. Darwin Streaming Server用vs2005编译运行过程
  6. 使用aespython进行ECB加解密示例
  7. Android(java)学习笔记191:Android数据存储5种方式总结
  8. log4j级别输出
  9. centos安装中文支持(转)
  10. java thread reuse(good)
  11. Activity中 左滑动返回监听
  12. Unity C# const与static readonly的区别与联系
  13. 【TOP】top命令的load average的意义
  14. python学习笔记(四)-数据类型
  15. 【Android】给Android Studio设置代理
  16. 女朋友也能看懂的Zookeeper分布式锁原理
  17. 在VB中动态执行VBS代码,可操控窗体控件
  18. Windows程序设计:格式化对话框的设计
  19. eclipse改jsp文件编码格式 统一设置
  20. 【XSY2484】mex 离散化 线段树

热门文章

  1. First-blog:解决mybatis 用mysql进行模糊搜索时,查不了中文问题
  2. jmeter中接口测试出现乱码或不识别中文解决办法
  3. oracle之通过group by产生统计报告
  4. 腾讯云COS对象存储 Web 端直传实践(JAVA实现)
  5. 传值&传值引用
  6. 计算"aabbc"中最多的相同字母数
  7. 全世界最强的算法平台codeforces究竟有什么魅力?
  8. C# Web Service简介及使用
  9. netty第一讲 创建
  10. (转载)浏览器 user-agent 字符串的故事