小程序 解密手机号

博客介绍了微信小程序解密手机号的两种思路。思路一是在接口里直接破解并存储手机号,减少小程序端存储用户信息接口;思路二则是先在接口破解手机号返回给小程序端,再由小程序端将手机号传回后端存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路一:

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.小程序端将返回的手机号传回后端,调用存储用户信息的接口,存储手机号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值