tg miniapp签名校验

  • 内容
  • 评论
  • 相关
function validateTelegramData($botToken, $data) : bool {
    $bot_secret = $botToken;

    $in =  $data;

    parse_str($in, $arr);

    $check_hash = $arr['hash'];
    unset($arr['hash']);
    ksort($arr);
    $data_str = "";
    foreach($arr as $k=>$v) {
        $data_str .= $k."=".$v."\x0A";
    }
    $data_str = trim($data_str);

    $secret = hash_hmac('sha256', $bot_secret, 'WebAppData', true);
    $hash = hash_hmac('sha256', $data_str, $secret);

    return strcmp($hash, $check_hash) === 0;

}

评论

0条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注