JWT生成器

JWT令牌生成

1 次使用
/** * 工具名称:JWT生成器 * 分类:加密工具 * 描述:生成和解析JWT Token */ $headerInput = $_POST['header'] ?? '{"alg":"HS256","typ":"JWT"}'; $payloadInput = $_POST['payload'] ?? '{"sub":"1234567890","name":"John Doe","iat":' . time() . '}'; $secretInput = $_POST['secret'] ?? 'qianxi-box-secret'; $jwtResult = ''; $parseInput = $_POST['parse_jwt'] ?? ''; $parseResult = null; $error = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['generate'])) { $header = json_decode($headerInput, true); $payload = json_decode($payloadInput, true); if (!$header || !$payload) { $error = 'Header和Payload必须是有效的JSON'; } else { $headerEncoded = base64url_encode(json_encode($header)); $payloadEncoded = base64url_encode(json_encode($payload)); $signature = base64url_encode(hash_hmac('sha256', "$headerEncoded.$payloadEncoded", $secretInput, true)); $jwtResult = "$headerEncoded.$payloadEncoded.$signature"; } } if (isset($_POST['parse']) && !empty($parseInput)) { $parts = explode('.', $parseInput); if (count($parts) === 3) { $parseResult = [ 'header' => json_decode(base64url_decode($parts[0]), true), 'payload' => json_decode(base64url_decode($parts[1]), true), 'signature' => $parts[2], ]; } else { $error = '无效的JWT格式'; } } } function base64url_encode($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); } function base64url_decode($data) { $remainder = strlen($data) % 4; if ($remainder) $data .= str_repeat('=', 4 - $remainder); return base64_decode(strtr($data, '-_', '+/')); } ?>

JWT生成器

生成和解析JSON Web Token

生成JWT


Warning: Undefined variable $error in /www/wwwroot/tools.qianxi.xin/tools/encrypt/jwt-generator.php on line 76

解析JWT


Warning: Undefined variable $parseResult in /www/wwwroot/tools.qianxi.xin/tools/encrypt/jwt-generator.php on line 99

使用说明

  • JWT由Header、Payload、Signature三部分组成
  • 使用HMAC SHA256算法签名
  • 注意:此工具仅用于学习和测试,不要用于生产环境

工具介绍

生成和解析JWT Token