小程序 解密手機號

思路一:

1. 在小程序端定義button   

2. js中調獲取破解用戶手機號的接口(可以在接口裏直接破解之後存儲用戶手機號)

   2.1  破解手機號,返回給小程序端

   2.2   將手機號存到數據庫

//解密手機號碼
    public function doPagegetPhoneNumber()
    {
        global $_GPC, $_W;
        require_once dirname(__FILE__) . '/mail/WXBizDataCrypt.php';
        $uniacid = $_W['uniacid'];
        $appid = $_GPC['appid'];
        $sessionKey = $_GPC['session_key'];
        $encryptedData = $_GPC['encryptedData'];
        $openid = $_GPC['openid'];
        $iv = $_GPC['iv'];
        // echo json_encode($_GPC);exit();
        $pc = new WXBizDataCrypt($appid, $sessionKey);
        $errCode = $pc->decryptData($encryptedData, $iv, $data);
        // echo $errCode;exit();
        if ($errCode == 0) {
        	$d = json_decode($data,true);  //將json字符串轉化爲數組
        	$arr['user_tel'] = $d['phoneNumber'];    
        	//根據openid查詢對應用戶信息
        	if($openid){
                //如果存在openid,則查詢對應的數據
               $info = pdo_fetchall("select id from " . tablename('yzpx_sun_user') . " where `uniacid`='$uniacid' and openid='$openid'");
               if (empty($info)) {
                //如果沒有該openid對應的數據則插入該條數據
	            $arr['time'] = time();
	            $res = pdo_insert('yzpx_sun_user', $arr);	           
		        } else {
	                ////如果沒有該openid對應的數據則更新該條數據
		            $arr['time'] = time();
		            $res = pdo_update("yzpx_sun_user", $arr, array('openid' => $openid));	           
		        }
        	}
	        print($data . "\n");  //將數據返回給小程序端
        } else {
            print($errCode . "\n");
        }
    }

(這種辦法小程序端可以少掉一次存儲用戶信息的接口)

思路二:

1. 在小程序端定義button   

2. js中調獲取破解用戶手機號的接口, 破解手機號,返回給小程序端

//解密手機號碼
    public function doPagegetPhoneNumber()
    {
        global $_GPC, $_W;
        require_once dirname(__FILE__) . '/mail/WXBizDataCrypt.php';
        $appid = $_GPC['appid'];
        $sessionKey = $_GPC['session_key'];
        $encryptedData = $_GPC['encryptedData'];
        $iv = $_GPC['iv'];
        // echo json_encode($_GPC);exit();
        $pc = new WXBizDataCrypt($appid, $sessionKey);
        $errCode = $pc->decryptData($encryptedData, $iv, $data);
        // echo $errCode;exit();
        if ($errCode == 0) {
            print($data . "\n");
        } else {
            print($errCode . "\n");
        }
    }

3.小程序端將返回的手機號傳回後端,調用存儲用戶信息的接口,存儲手機號

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章