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, '-_', '+/'));
}
?>
Warning: Undefined variable $error in /www/wwwroot/tools.qianxi.xin/tools/encrypt/jwt-generator.php on line 76
JWT生成器
生成和解析JSON Web Token
Warning: Undefined variable $error in /www/wwwroot/tools.qianxi.xin/tools/encrypt/jwt-generator.php on line 76
使用说明
- JWT由Header、Payload、Signature三部分组成
- 使用HMAC SHA256算法签名
- 注意:此工具仅用于学习和测试,不要用于生产环境
工具介绍
生成和解析JWT Token