赞
踩
- function getWxinfo()
- {
-
- $arr['appid'] = config('socket.appid');
- $arr['secret'] =config('socket.secret');
- $arr['grant_type'] ='authorization_code';
- $arr['js_code'] = input('param.code');
-
-
- $encryptedData = input('param.encryptedData');
- $iv = input('param.iv');
-
- $url = "https://api.weixin.qq.com/sns/jscode2session?";
-
- $url = $url . http_build_query($arr);
-
- $http = new HttpClient();//添加账户记录
- $res = $http->get($url);
-
- $res=json_decode($res,TRUE);
- // var_dump($res);
-
- $sessionKey=$res['session_key'];
- /* var_dump($pc); */
- $errCode = $this->decryptData($arr['appid'], $sessionKey,$encryptedData, $iv);
- if ($errCode != -41001 &&$errCode != -41002&&$errCode != -41003&&$errCode != -41004) {
- return $errCode;
- } else {
- throw new \Exception($errCode);
- }
-
- }
-
-
- /**
- * 微信信息解密
- * @param string $appid 小程序id
- * @param string $sessionKey 小程序密钥
- * @param string $encryptedData 在小程序中获取的encryptedData
- * @param string $iv 在小程序中获取的iv
- * @return array 解密后的数组
- */
- function decryptData($appid , $sessionKey, $encryptedData, $iv){
- $OK = 0;
- $IllegalAesKey = -41001;
- $IllegalIv = -41002;
- $IllegalBuffer = -41003;
- $DecodeBase64Error = -41004;
-
- if (strlen($sessionKey) != 24) {
- return $IllegalAesKey;
- }
- $aesKey=base64_decode($sessionKey);
-
- if (strlen($iv) != 24) {
- return $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 $IllegalBuffer;
- }
- if( $dataObj->watermark->appid != $appid )
- {
- return $DecodeBase64Error;
- }
- $data = json_decode($result,true);
- return $data;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。