mfy / api-params-md5-signature
使用此包,我们可以轻松地在处理 PHP API 开发时生成和验证签名。此组件可用于 PHP API 开发工作中的接口参数签名生成与验证。
v0.93
2021-02-05 07:44 UTC
Requires
- php: >=7.0
README
使用此包,我们可以轻松地在处理 PHP API 开发时生成和验证签名。此组件可用于 PHP API 开发工作中的接口参数签名生成与验证。
用法 用法
- 引入此包 import this package
composer require mfy/api-params-md5-signature
- 初始化 initialize
use mfy\ApiSignature; // you can modify the config array if necessary. // 必要时可以修改如下配置 $config = [ 'sign_key' => 'sign', // the key's name of signature. 请求参数中签名参数名 'secret_key' => 'appSecret', // the key's name of appSecret. 请求参数中密钥参数名 'timestamp_key' => 'timestamp', // the key's name of timestamp. 请求参数中的时间戳参数名 'timeout_limit' => 0, //the maximum time gap between client and server, by seconds. 0 means no limit. 客户端与服务端之间最大的时间间隔,单位秒,为0时表示不限制 ]; $apiSignature = new ApiSignature(YOUR_SECRET, $_GET, $config);
- 生成签名 Generate signature
<?php use mfy\ApiSignature; use mfy\ApiSignatureException; try { $params = ['a'=> $a, 'b'=> $b, ...]; $apiSignature = new ApiSignature(YOUR_SECRET, $params); $params['sign'] = $apiSignature->generate(); // or you can directly get query param array $query_params = $apiSignature->generateQueryArray(); // continue ... } catch (ApiSignatureException $e) { // do somethings }
- 验证签名 Verify signature
<?php use ApiSignature; use ApiSignatureException; try { $apiSignature = new ApiSignature(YOUR_SECRET, $_GET); $apiSignature->verify(); // continue ... } catch (ApiSignatureException $e) { // do somethings }