老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

php接口簽名服務

 1, 'data' => [], 'message' => ''];
        } catch (\Exception $e) {
            return ['status' => 0, 'data' => [], 'message' => $e->getMessage()];
        }
    }

    /**
     * 產生隨機字符串,不長于32位
     * @param int $length
     * @return string
     */
    public static function createNonceStr(int $length = 32): string
    {
        $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
        $str = "";
        for ($i = 0; $i < $length; $i++) {
            $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
        }
        return $str;
    }

    /**
     * 產生請求參數的排序后的字符串
     * @param array $requestParamArr
     * @return string
     */
    public static function createSortQueryString(array $requestParamArr): string
    {
        if (isset($requestParamArr['key'])) unset($requestParamArr['key']);
        if (isset($requestParamArr['signature'])) unset($requestParamArr['signature']);

        ksort($requestParamArr);
        return http_build_query($requestParamArr);
    }

    /**
     * 創建簽名串
     * @param string $sortQueryString 排序字符串
     * @param string $signType 簽名類型:MD5;HMAC-SHA256;
     * @param string $key
     * @return string
     * @throws \Exception
     */
    public static function createSignatureString(string $sortQueryString, string $signType, string $key): string
    {
        $returnStr = '';
        if ($signType == 'MD5') {
            $sortQueryString .= '&key=' . $key;
            $returnStr = md5($sortQueryString);
        } elseif ($signType == 'HMAC-SHA256') {
            $returnStr = hash_hmac('sha256', $sortQueryString, $key);
        } else {
            throw new \Exception('簽名類型不支持');
        }
        return $returnStr;
    }

    /**
     * 驗證外部請求
     * @param array $originRequestParamArr
     * @return array
     */
    public static function validateRequest(array $originRequestParamArr): array
    {
        try {
            $validate = self::validateQueryParam($originRequestParamArr, false);
            if (!$validate['status']) throw new \Exception($validate['message']);
            $now = time();
            if (($now - $originRequestParamArr['timestamp']) > 15) throw new \Exception('請求時間異常');

            $signType = $originRequestParamArr['sign_type'];
            $originKey = $originRequestParamArr['key'];
            $originSignature = $originRequestParamArr['signature'];
            unset($originRequestParamArr['key'], $originRequestParamArr['signature']);

            $newSignature = self::createSignatureString(self::createSortQueryString($originRequestParamArr), $signType, $originKey);
            if ($originSignature != $newSignature) throw new \Exception('簽名錯誤');

            return ['status' => 1, 'data' => [], 'message' => ''];
        } catch (\Exception $e) {
            return ['status' => 0, 'data' => [], 'message' => $e->getMessage()];
        }
    }
}

使用

創新互聯主要從事網站設計制作、做網站、網頁設計、企業做網站、公司建網站等業務。立足成都服務郯城,10年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:18982081108

//生成簽名
$request = [
                'a' => 1,
                'b' => 2,
                'c' => 3,

                'sign_type' => 'HMAC-SHA256',
                'timestamp' => time() + 600,
                'nonce_str' => SignatureService::createNonceStr(),
        ];

            SignatureService::init($request);

            $result = SignatureService::validateQueryParam();

            if (!$result['status']) exit($result['message']);

            $key = 'helloworld';
            $signature = SignatureService::createSignatureString(SignatureService::createSortQueryString($request), $request['sign_type'], $key);
            $request['key'] = $key;
            $request['signature'] = $signature;

            echo "
";
            print_r($request);

            //校驗簽名
            $validate = SignatureService::validateRequest($request, false);

必要參數:

  • 'sign_type' => 'HMAC-SHA256', //簽名類型,當前支持SHA256、MD5
  • 'timestamp' => '1539255134', //時間戳
  • 'nonce_str' => 'n5ryqp0f9ur3u3u8lxfblxw9h03emyka',//隨機數
  • 'key' => 'helloworld', //密鑰
  • 'signature' => 'f0ca487612f15059c47aba5e8503c6400981fbed20d1af958003e3f798d1bbd2',//簽名

標題名稱:php接口簽名服務
標題網址:http://www.xueling.net.cn/article/geohsc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美黑人性受 | 国产欧美一区二区精品性色超碰 | japan21xxxxhd日本妞 | 日本九九热在线观看官网 | h纯肉无遮掩3d动漫免费网站 | 在线观看免费国产精品 | 四虎一区二区三区 | 亚洲欧美日韩国产精品 | 益日韩欧群交P片内射中文 最好看的中文视频最好的中文 | 超碰97国产 | 台湾成人免费视频 | 激情内射日本一区二区三区 | 日韩国产成人精品影院 | 日韩无码偷拍中文字幕 | 99久久这里只有精品 | 久草在线视频免费资源观看 | 亚洲午夜精品无码专区在线观看 | 久久国产主播精品 | 青青草无码免费一二三区 | 亚洲一视频 | 美国久久久久久 | 国产美女撒尿一区二区 | 国偷自产视频一区二区久 | 91视频播放 | 亚洲精品在线中文字幕 | 成视频年人黄网站视频福利 | jizzjizz日本护士视频 | 亚洲www啪成人一区二区 | 披荆斩棘的哥哥第三季在线观看免费 | 国产精品久久久久久久白浊 | 国产精品免费高清在线观看 | 男人猛躁女人免费 | 欧美日韩一二三区 | 中文字幕在线免费看 | 国产+成+人+亚洲欧洲自线 | CAOPORN免费视频国产 | 国产国产成年年人免费看片 | 夜夜躁狠狠躁夜躁2021 | 麻豆人人妻人人妻人人片AV | 91av视频在线观看免费 | 精品国产一区二区亚洲人成毛片 |