PHP阿里云短信接入与回调验证全文

PHP阿里云短信接入与回调验证

1.本文是下载官方demo,如下PHP阿里云短信接入与回调验证全文_第1张图片
三个内容经历整合,在同一文件中显示

//SignatureHerper.php中的内容
  public function request($accessKeyId, $accessKeySecret, $domain, $params, $security=false, $method='POST') {
   
        $apiParams = array_merge(array (
            "SignatureMethod" => "HMAC-SHA1",
            "SignatureNonce" => uniqid(mt_rand(0,0xffff), true),
            "SignatureVersion" => "1.0",
            "AccessKeyId" => $accessKeyId,
            "Timestamp" => gmdate("Y-m-d\TH:i:s\Z"),
            "Format" => "JSON",
        ), $params);
        ksort($apiParams);

        $sortedQueryStringTmp = "";
        foreach ($apiParams as $key => $value) {
   
            $sortedQueryStringTmp .= "&" . $this->encode($key) . "=" . $this->encode($value);
        }

        $stringToSign = "${method}&%2F&" . $this->encode(substr($sortedQueryStringTmp, 1));

        $sign = base64_encode(hash_hmac("sha1", $stringToSign, $accessKeySecret . "&",true));

        $signature = $this->encode($sign);

        $url = ($security ? 'https' : 'http')."://{
     $domain}/";

        try {
   
            $content = $this->fetchContent($url, $method, "Signature={
     $signature}{
     $sortedQueryStringTmp}");
            return json_decode($content);
        } catch( \Exception $e) {
   
            return false;
        

你可能感兴趣的:(PHP阿里云短信接入与回调验证全文)