1. 程式人生 > 其它 >php 微信自動獲取手機號

php 微信自動獲取手機號

技術標籤:phpphp

/**
 * 檢驗資料的真實性,並且獲取解密後的明文.
 * @param $encryptedData string 加密的使用者資料
 * @param $iv string 與使用者資料一同返回的初始向量
 * @param $data string 解密後的原文
 *
 * @return int 成功0,失敗返回對應的錯誤碼
 *
 */
public function decryptData($appid, $session_key, $encryptedData, $iv, &$data)
{
    if (strlen($session_key
) != 24) { return -41001; } $aesKey = base64_decode($session_key); if (strlen($iv) != 24) { return -41002; } $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 -41003; } if ($dataObj->watermark->appid != $appid) { return -41003; } $data = $result; return 0; } /** * 自動獲取手機號 */ public function bind_mobile_auto() { $user_id = $this->
get_user_id(); $encryptedData = input("encryptedData"); $iv = input('iv'); if (!$encryptedData) { ajaxReturn(['status' => -1, 'msg' => 'encryptedData 不能為空']); } elseif (!$iv) { ajaxReturn(['status' => -1, 'msg' => 'iv 不能為空']); } $appid = ''; $openid = ''; $sion_key = ''; $errCode = $this->decryptData($appid, $session_key, $encryptedData, $iv, $data); if ($errCode == 0) { $arr = json_decode($data, true); $purePhoneNumber = $arr['purePhoneNumber']; //手機號碼 } }