pebm/simple-api-sign

Simple API sign 是 API 签名的简单实现

dev-main 2022-02-20 15:24 UTC

This package is auto-updated.

Last update: 2024-09-20 21:57:47 UTC


README

npm version

Simple API sign 是 API 签名的简单实现。它现在包含 JS 和 PHP 版本,以及相应的创建和检查方法。通用项目可以直接使用,但我不能保证此方法的安全性以及未来事件的修复。此模块非常简单。你可以查看源代码。

此模块主要是为了我的个人使用。当前端数据(通常是 JavaScript 项目)发送到后端(PHP 和 Python)时,后端将验证数据。这里省略了令牌的创建,因为有许多公开和通用的令牌构建标准。

最后,添加到数据中的时间戳和随机字符串可能用于其他目的。暂时就是这样。

其他

JavaScript 版本请参阅 NPM

安装

composer require pebm/simple-api-sign

用法

require "vendor/autoload.php";

use SimpleApiSign\SimpleApiSign as ApiSign;

$data = [
    'source'    => 'products',
    'pk'        => 1003443,
    'ext'       => [
        'sales', 'pv', 'uv'
    ],
    'x' => [
        'x'     => 23,
        'few'   => [
            'fs'    => [0,2,3]
        ]
    ]
];

$apiSign = new ApiSign;

$token = 'xx';

$signData = $apiSign->create($data, $token);

/** signData like this
 Array
(
    [source] => products
    [pk] => 1003443
    [ext] => Array
        (
            [0] => sales
            [1] => pv
            [2] => uv
        )
    [x] => Array
        (
            [x] => 23
            [few] => Array
                (
                    [fs] => Array
                        (
                            [0] => 0
                            [1] => 2
                            [2] => 3
                        )
                )
        )
    [timestamp] => 1645365617000
    [random] => 208086
    [sign] => 72BDDFD9993072EE4EBE63C451F138E3
)
 */

$isValid = $apiSign->check($a, $token);

// your code ...