SignatureUtil.php 784 字节
<?php


namespace Lackoxygen\TopWarehouse\Utils;


class SignatureUtil
{
    /**
     * @param array  $data
     * @param string $secret
     *
     * @return string
     */
    public static function generate(array $data, string $secret): string
    {
        ksort($data);
        $string = "";
        foreach ($data as $key => $item) {
            switch (gettype($item)) {
                case null:
                case '':
                    break;
                case 'array':
                    $value  = JsonUtil::encode($item);
                    $string .= "{$key}$value}";
                    break;
                default:
                    $string .= "{$key}{$item}";
            }
        }

        return strtoupper(md5($secret . $string . $secret));
    }
}