网页抓取解密(丹溪运动小程序获取的第一种方法解密参考参考示例 )

优采云 发布时间: 2022-03-11 04:19

  网页抓取解密(丹溪运动小程序获取的第一种方法解密参考参考示例

)

  1.申请注册微信开放平台

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

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

  4.如果你是小程序,获取unionid有几种方法

  小程序获得的第一个方法被解密。举例请参考丹溪体育小程序的处理方法

  注意: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];

}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线