mfy/api-params-md5-signature

使用此包,我们可以轻松地在处理 PHP API 开发时生成和验证签名。此组件可用于 PHP API 开发工作中的接口参数签名生成与验证。

v0.93 2021-02-05 07:44 UTC

This package is auto-updated.

Last update: 2024-09-05 16:03:40 UTC


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
}