服务号idbase64_微信 unionid 获取 解密数据

1.申请注册微信开放平台  open.weixin.qq.com

2.绑定公众号或者小程序到微信开放平台

3.微信公众号的话,使用微信网页授权获取 unionid

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

4.小程序的话,获取unionid的几种方式

https://developers.weixin.qq.com/miniprogram/dev/api/unionID.html

其中小程序获取的第一种方法解密 示例参考 丹溪运动小程序的处理方式

注:unionid 是同一用户在使用微信平台下的不同产品所产生的id,用于跨产品区分用户 。

解密数据(appid sessionKey encryptedData iv )

/**

* 检验数据的真实性,并且获取解密后的明文.

* @param $encryptedData string 加密的用户数据

* @param $iv string 与用户数据一同返回的初始向量

* @param $data string 解密后的原文

*

* @return int 成功0,失败返回对应的错误码

*/

public function xiaoDecryptData( Request $request )

{

$data = $request->all();

$sessionKey = $data['sessionKey'];

$encryptedData = $data['encryptedData'];

$appid = $data['appid'];

$iv = $data['iv'];

$IllegalAesKey = -41001;

$IllegalIv = -41002;

$IllegalBuffer = -41003;

$DecodeBase64Error = -41004;

$OK = 0;

if (strlen($sessionKey) != 24) {

return ['code' => 1002, 'data' => ['message' => $IllegalAesKey]];

}

$aesKey=base64_decode($sessionKey);

if (strlen($iv) != 24) {

return ['code' => 1002, 'data' => ['message' => $IllegalIv]];

}

$aesIV=base64_decode($iv);

$aesCipher=base64_decode($encryptedData);

$result=openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);

$dataObj=json_decode( $result );

if( $dataObj == NULL )

{

return ['code' => 1002, 'data' => ['message' => $IllegalBuffer]];

}

if( $dataObj->watermark->appid != $appid )

{

return ['code' => 1002, 'data' => ['message' => $IllegalBuffer]];

}

return ['code' => 1000, 'data' => $dataObj];

}

微信小程序登录数据解密以及状态维持

学习过小程序的朋友应该知道,在小程序中是不支持cookie的,借助小程序中的缓存我们也可以存储一些信息,但是对于一些比较重要的信息,我们需要通过登录状态维持来保存,同时,为了安全起见,用户的敏感信息, ...

[转]微信小程序登录数据解密以及状态维持

本文转自:http://www.cnblogs.com/cheesebar/p/6689326.html 学习过小程序的朋友应该知道,在小程序中是不支持cookie的,借助小程序中的缓存我们也可以存储 ...

.NET 微信开发之 获取用户数据

通过微信接口获取用户信息主要分为以下几个步骤: a.获取公众号的access_token b.通过查询所有用户OPenid接口获取所有用户. string url = "https://ap ...

对于微信UnionID在公众平台以及小程序里面的获取

首先介绍下UnionID的作用,在注册了微信开放平台(注意,这里是开放平台,不是微信公众平台)之后,同一个微信号在这个开放平台下的项目上面的UnionID都是统一的,通俗的说就是,小程序跟公众号项目在 ...

微信小程序开放数据解密 AES-128-CBC 解密(C#版本)

最近在开发小程序,需要跟微信服务端交互,微信敏感数据都有加密返回,需要在服务端接收进行解密后再返回给客户端小程序,今天就通过C# 进行数据的解密,官方下载下来是Node.C++.php等,就是没有C# ...

微信小程序用户数据解密

概述 通过微信web开发者工具创建登录,获取用户信息,发送至后台,进行用户数据解密 详细 代码下载:http://www.demodashi.com/demo/10705.html 一.准备工作 1. ...

C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据

我曾经在系列文章中的中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的open ...

微信获取用户数据后台写法,author2.0认证

/* 微信授权接口 */ //1.设置路由 router.get('/wechat/userinfo', function(req, res) { var cb = req.query.cb; //设 ...

微信公众号开发--用.Net Core实现微信消息加解密

1.进入微信公众号后台设置微信服务器配置参数(注意:Token和EncodingAESKey必须和微信服务器验证参数保持一致,不然验证不会通过). 2.设置为安全模式 3.代码实现(主要分为验证接口和 ...

随机推荐

C#缓存操作

1.缓存辅助方法类的接口代码: public interface IThrottleStore { /// /// 试图获取值 /// ...

 空格用法

记录一下,空格的转义字符分为如下几种:平时一般用的是 1.  &160#;不断行的空白(1个字符宽度)2.  &8194#;半个空白(1个字符宽度)3.  &8195#;一个空 ...

Linux shell之打印输出

介绍 经常需要和shell命令打交道,但是一直没有系统的学习,接下来会花1到2个月的时间系统的学习一下shell命令,接下来就开启shell命令的奇妙旅行吧.本章主要介绍shell的打印输出. 知识要 ...

Junit很少出现的一个问题 No tests found matching ...

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test2], {ExactMatcher:fDisp ...

创建odoo数据库时出现错误原因

安装完odoo 8.0后创建数据库时出现如下错误信息: Odoo Odoo Server Error Traceback (most recent call last): File "D:\ ...

ES6 Set和Map

一.Set遍历方法: set.key() set.values() set.entries() 二.Set例子: var s = new Set(); var arr = [1,1,2,3,6,8,8 ...

css blur 的兼容写法

出自:小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 .blur { filter: url(blur.svg#blur); /* IE10, IE11 */ -webkit-filter: b ...

sql语句or与union all的执行效率比较

看到一篇文章是讲sql语句or与union all的执行效率比较的,以前没怎么注意这个问题,感觉文章写的不错,转来一看. 文章原链接:http://www.cunyoulu.com/zhuanti/q ...

图片ping、JSONP和CORS跨域

置顶文章: 上一篇: 作者主页:myvin 博主QQ:851399101(点击QQ和博主发起临时会话 ...

linux设置ulimit值永久生效

小知识的积累,转自 http://hi.baidu.com/moonelf9989/blog/item/1deadf12780fa0c5c2fd789d.html linux 默认打开文件数linux ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值