param(); $signature = $param['signature'] ?? '';// 签名 $timestamp = $param['timestamp'] ?? '';// 时间戳 $nonce = $param['nonce'] ?? '';// 随机数 $echostr = $param['echostr'] ?? '0'; // 随机字符串 $checkRes = $this->checkSignature($signature,$timestamp,$nonce); $param['res_error'] = $checkRes; Log::write($param); echo $echostr;die; } private function checkSignature($signature,$timestamp,$nonce):bool { $token = $this->token; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } }