接入验证

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

接入验证

原理:一个算法的验证

微信发送get 请求

get请求参数


1. signature	 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、n
once参数。(加密后的对比字符串)

2. timestamp	 时间戳
3. nonce	 随机数
4. echostr	 随机字符串

算法

签名认证
    protected function checkSignature(){
        $config = C('WX_CONFIG');
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        
    	$token = $config['token'];
    	$tmpArr = array($token, $timestamp, $nonce);
    	sort($tmpArr, SORT_STRING);
    	$tmpStr = implode( $tmpArr );
    	$tmpStr = sha1( $tmpStr );
    	
    	if( $tmpStr == $signature ){
    		return true;
    	}else{
    		return false;
    	}
    }

转载于:https://my.oschina.net/2016jyh/blog/779813

你可能感兴趣的:(接入验证)