华为

被华为坑得最多,都是血与泪。

登录支付的签名:

官方文档是这样写的

我按照文档的方式生成的签名一直报签名错误,各种方法都试了,最后尝试没有urlencode,结果验签通过了,文档坑人啊~

    /*** 华为签名*/public function huaweiSign($params, $secret){$sign_str = "";ksort($params);foreach ($params as $key => $value) {$value = urlencode($value);$sign_str = $sign_str . $key . "=" . $value . "&";}$sign_str = substr($sign_str, 0, -1);$res = "-----BEGIN RSA PRIVATE KEY-----\n" .wordwrap($secret, 64, "\n", true) ."\n-----END RSA PRIVATE KEY-----";$private_key = openssl_pkey_get_private($res);openssl_sign($sign_str, $sign, $private_key, OPENSSL_ALGO_SHA256);$sign = base64_encode($sign);openssl_free_key($private_key);return $sign;}

下单签名:

华为下单的时候也需要签名,这个地方又是一个坑,一开始按照上面的方法生成的签名还是有错,文档都看几遍,然后发现下单的参数里有一个urlVer参数,文档这样写

因为我一直没转换,所以签名总是不通过,这个地方不能怪文档,只能怪自己没看仔细。

小米:

登录签名,本来参数按字母顺序排序,但我刚好按照那个顺序排,就省略了这步:

        $app_key = $union_config['app_secret'];   //key$login_url = 'http://mis.migc.xiaomi.com/api/biz/service/loginvalidate';$request_params = ['appId' => $union_config['app_id'],'session' => $open_key,'uid' => $open_id,];$sign_str = http_build_query($request_params);$request_params['signature'] = hash_hmac('sha1',$sign_str, $app_key, false);

支付签名,发过来的参数是encode,所以这里要decode:

        //验签$app_secret = $union_config['app_secret'];$request_signature = $params['signature']; unset($params['signature']);ksort($params);$sign_str = urldecode(http_build_query($params));$self_signature = hash_hmac('sha1',$sign_str, $app_secret, false);if ($request_signature != $self_signature){$result['errcode']='1525 '; $result['errMsg']='签名错误'; return $result;}

vivo的没踩什么坑,签名方法也比较简单。

转载于:https://www.cnblogs.com/zengsihua/p/9733034.html

华为、小米、vivo联运游戏接入总结相关推荐

  1. 帮你抢小游戏流量红利——vivo小游戏接入指南

    vivo小游戏接入指南 一.平台介绍 VIVO小游戏运行在VIVO手机自带的游戏中心,活跃用户接近上亿,目前小游戏产品接入需要商务审核,审核通过后方可上线. 开放平台:https://dev.vivo ...

  2. 基于Egret的VIVO小游戏接入

    vivo的接入很曲折,搞了两天才把微信小游戏移植到vivo上,没有IDE,官方提供的chrome调试又没作用,所以每次找问题都需要借助console,将步骤一步一步输出,然后定位到问题,每次都要经历: ...

  3. android极光推送 小米,android 接极光推送厂商通道,华为 小米 VIVO OPPO

    我首先接入极光推送,然后才来接厂商通道, 需要先接极光推送的看我另外一边帖子, 1   在根目录的build.gradle buildscript{ repositories{ google() jc ...

  4. LayaAir已支持vivo小游戏适配与IDE内一键发布!

    6月底,我们本该发个引擎版本,由于计划搞点大动作.所以很抱歉,我们跳票了. 引擎语言从AS3全面转向TS,这个动静有点大,很多引擎小细节变了(不影响API),不止是代码迁移的工作量,还有各种测试. 为 ...

  5. OPPO、vivo 小游戏正式上线,Cocos 率先支持

    OPPO .vivo 小游戏平台正式发布 在近期举办的 Cocos 开发者沙龙上,OPPO 和 vivo 小游戏商务负责人向与会开发者详细介绍了其小游戏的业务规划.用户属性.产品需求.合作方式.变现能 ...

  6. 4个顶级的华为/小米/OPPO/Vivo手机屏幕解锁工具软件

    有好几次用户发现自己被锁定在他们的华为/小米/OPPO/Vivo设备之外,我们知道这可能是一种非常可怕的体验.在这种情况下,找到安卓手机解锁软件,重新获得手机中重要数据和文件的访问权限.看看这篇文章, ...

  7. vivo适配android10,完整升级安卓10教程!华为小米OV一加8余款机型率先适配安卓Q...

    原标题:完整升级安卓10教程!华为小米OV一加8余款机型率先适配安卓Q 伴随着谷歌开发者大会的召开,安卓第10个版本Android Q正式发布,Android Q加入原生折叠屏支持:适用5G网络:加入 ...

  8. java服务端统一消息推送(苹果, 华为, 小米, 极光,vivo)

    1. 引入依赖 <!-- 极光 --> <dependency><groupId>cn.jpush.api</groupId><artifactI ...

  9. 帮你抢小游戏流量红利——华为小游戏接入指南

    华为小游戏接入指南(截止到2020年4月) 官网接入地址请见这里 快游戏介绍请见这里 华为小游戏接入门槛:无论是内购游戏还是广告免费游戏,都需要版号!(这点和其他各大游戏平台不同,要求更严格!无版号不 ...

最新文章

  1. 数字货币支付能成为主流吗?
  2. 从syslinux源码定制LiveUSB
  3. 三层学习------实践篇
  4. Qt下Tcp传输文件
  5. WinSock I/O 模型 -- OVERLAPPED I/O 模型
  6. c++ primer5 第一章练习题答案 尚未完成 后续补充(基本已经完结)
  7. .Net面试葵花宝典
  8. android经典动态壁纸,Android动态壁纸解析
  9. 微信小程序 图片处理的几个样式
  10. win10 计算机描述,怎么设置win10以安全描述符定义语言(SDDL)语法表示的计算机访问权限...
  11. 互联网的行业都有哪些岗位?
  12. Java 扫描识别条形码图片
  13. 第四章:Android灯光系统(6)-背光灯
  14. C语言第五章Structures Unions
  15. App渠道打包的最佳攻略,一次解决打包难题
  16. 几个目标检测算法的比较——yolov4,yolov4-tiny,faster-rcnn
  17. C# 体检套餐管理系统
  18. 技能梳理9@RGB+WS2812+ESP32
  19. PADS学习3(绘制原理图)
  20. 电力拖动与控制系统 第二讲笔记

热门文章

  1. 通过 Tensorflow 的基础类,构建卷积神经网络,用于花朵图片的分类
  2. winform 鼠标离开子控件触发mouseleave事件处理
  3. Python爬虫入门【16】:链家租房数据抓取
  4. win7下局域网打印机共享使用
  5. mysql乐观锁重试_乐观锁失败重试
  6. 廖雪峰python.pdf-74 利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。
  7. C语言中空格符,制表符,换行符详解
  8. 彩色图片转为黑白灰阶图片
  9. GitHub上那些奇葩“项目”
  10. java handlebars_前端模板引擎Handlebars的使用总结(一)