https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot?lang=zh-CN
计算签名字符串。
设置签名校验后,向 webhook 发送请求需要签名校验来保障来源可信。
所校验的签名需要通过时间戳与秘钥进行算法加密,即将**timestamp + "\\n" + 密钥**当做签名字符串,
使用 HmacSHA256 算法计算空字符串的签名结果,再进行 Base64 编码。
其中,**timestamp**是指距当前时间不超过 1 小时(3600 秒)的时间戳,时间单位:s。例如,1599360473。
$timestamp = time();
private static function GenerateSign($timestamp, $secret)
{
if (empty($secret)) {
return '';
}
// 飞书签名算法:timestamp + "\\n" + secret
// 确保timestamp为字符串格式
$sign = $timestamp . "\\n" . $secret;
// 使用HMAC-SHA256算法,key为secret,message为string_to_sign
$hash = hash_hmac('sha256', '', $sign, true);
return base64_encode($hash);
}