// +---------------------------------------------------------------------- // server/utils/SignUtil.php namespace ywxapp\utils; /** * SignUtil 类 * * @author ywxapp */ class SignUtil { public static function generateSign(array $params, string $secret): string { unset($params['sign']); ksort($params); $signString = urldecode(http_build_query($params, '', '&')); return hash_hmac('sha256', $signString, $secret); } public static function verifySign(array $params, string $secret): bool { if (!isset($params['sign'])) return false; $sign = $params['sign']; $expected = self::generateSign($params, $secret); return strtolower($sign) === strtolower($expected); } }