SignatureUtil.php 884 字节
<?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 'string':
                    if (strlen($item) > 0) {
                        $string .= "{$key}{$item}";
                    }
                    break;
                case 'array':
                    $value  = Json::encode($item);
                    $string .= "{$key}$value}";
                    break;
            }
        }

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