当前位置: 首页 > news >正文

西宁网站建设价格低免费网页设计制作网站

西宁网站建设价格低,免费网页设计制作网站,软件需求分析文档范例,怎样把网站上传到服务器上在 PHP 中#xff0c;JSON Web Token (JWT) 是一种开放标准 (RFC 7519) 用于在各方之间作为 JSON 对象安全地传输信息。JWT 通常用于身份验证系统#xff0c;如 OAuth2 或基于令牌的身份验证。 以下是一个基本的 PHP 实现 JWT 生成和验证的代码示例。 JWT 的组成部分 JWT …在 PHP 中JSON Web Token (JWT) 是一种开放标准 (RFC 7519) 用于在各方之间作为 JSON 对象安全地传输信息。JWT 通常用于身份验证系统如 OAuth2 或基于令牌的身份验证。 以下是一个基本的 PHP 实现 JWT 生成和验证的代码示例。 JWT 的组成部分 JWT 包含三个部分 Header头部说明算法和令牌类型。Payload有效载荷包含声明如用户数据、过期时间等。Signature签名用于验证令牌是否被篡改。 JWT 格式如下header.payload.signature 基本步骤 编码使用 Base64 编码 Header 和 Payload。签名使用 Header 中定义的算法对编码后的 Header 和 Payload 进行签名。验证解析 JWT 时通过检查签名是否有效来验证令牌。 代码实现 ?phpclass JWT {private static $secretKey your_secret_key; // 加密使用的秘钥private static $algo HS256; // 使用的算法/*** 生成JWT* * param array $payload 数据负载* return string*/public static function generateJWT($payload){// 1. 生成header$header json_encode([alg self::$algo, typ JWT]);$base64Header self::base64UrlEncode($header);// 2. 生成payload$base64Payload self::base64UrlEncode(json_encode($payload));// 3. 生成signature$signature hash_hmac(sha256, $base64Header.$base64Payload, self::$secretKey, true);$base64Signature self::base64UrlEncode($signature);// 4. 组合JWT$jwt $base64Header.$base64Payload.$base64Signature;return $jwt;}/*** 验证JWT* * param string $token JWT令牌* return array|bool 如果验证成功返回payload否则返回false*/public static function verifyJWT($token){// 1. 拆分JWT$parts explode(., $token);if (count($parts) ! 3) {return false;}list($base64Header, $base64Payload, $base64Signature) $parts;// 2. 解码Header和Payload$header json_decode(self::base64UrlDecode($base64Header), true);$payload json_decode(self::base64UrlDecode($base64Payload), true);$signature self::base64UrlDecode($base64Signature);// 3. 验证签名$expectedSignature hash_hmac(sha256, $base64Header.$base64Payload, self::$secretKey, true);if (!hash_equals($signature, $expectedSignature)) {return false;}// 4. 验证过期时间if (isset($payload[exp]) $payload[exp] time()) {return false;}return $payload;}/*** Base64URL编码* * param string $data* return string*/private static function base64UrlEncode($data){return rtrim(strtr(base64_encode($data), /, -_), );}/*** Base64URL解码* * param string $data* return string*/private static function base64UrlDecode($data){return base64_decode(strtr($data, -_, /));} }说明 生成 JWT 使用  generateJWT($payload)  方法生成 JWT。 header  包含签名算法信息这里使用 HS256payload 包含用户信息或其他声明。用 hash_hmac(sha256) 方法签名生成的 JWT。 验证 JWT 使用 verifyJWT($token) 方法验证 JWT。验证签名是否正确以及 payload 中是否设置了过期时间可选。 Base64 编码/解码 使用 base64UrlEncode() 和 base64UrlDecode() 实现 URL 安全的 Base64 编码。 测试代码 // 测试JWT生成 $payload [user_id 123,username john_doe,exp time() 3600 // 过期时间1小时 ];$jwt JWT::generateJWT($payload); echo Generated JWT: . $jwt . PHP_EOL;// 测试JWT验证 $decodedPayload JWT::verifyJWT($jwt); if ($decodedPayload) {echo JWT is valid! Payload: . print_r($decodedPayload, true) . PHP_EOL; } else {echo Invalid JWT! . PHP_EOL; }JWT 生成结果示例 Generated JWT: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJ1c2VyX2lkIjogMTIzLCAidXNlcm5hbWUiOiAiam9obl9kb2UiLCAiZXhwIjogMTYxNjg1MjIwMn0.J0wLkhlUkTftKzVzR7Y9pVwSBU-WESCTwks2FyUwDUU JWT is valid! Payload: Array ([user_id] 123[username] john_doe[exp] 1616852202 )说明 过期时间 exp你可以在 payload 中加入 exp它代表 JWT 过期的时间戳通常用来限制令牌的有效期。签名算法这里使用的是 HS256HMAC-SHA256你可以根据需求换成其他的对称或非对称签名算法。 应用场景 用户认证基于 JWT 的用户登录、身份验证机制。API 授权通过 JWT 传递身份验证信息允许或拒绝 API 请求。微服务间通信在分布式系统中JWT 可以用于服务之间的身份验证和授权。
http://www.hkea.cn/news/14445255/

相关文章:

  • 如何安装网站模板深圳网站关键词排名推广
  • 怎么找网站做宣传网站开发平台的定义
  • 网站静态和动态区别旅游网站哪个做的好
  • 西安教育类网站建设公司python下载安装教程
  • 一个云主机可以做多少网站公司网站模板内容
  • 江苏省工程建设信息官方网站阿里云备案域名
  • 网站动态画面用啥做wordpress 宽屏
  • 网站建设与做的好的中医网站
  • 山西省建设主管部门网站福建建设局网站
  • 网站建设制作公司知道万维科技美妆网站模板
  • 中文网站开发如何做框架网站
  • 苏州网站制作网站建设免费推广网站哪家好
  • 公司怎么注册官方网站优化企业网站排名要多少钱
  • 聊城做网站推广地方手机软件制作和做网站相同
  • 医院做网站运维asp.net mvc 企业网站
  • 网站参考页面设计wordpress响应式加后台
  • 河津市城乡建设局网站手表品牌
  • 企业网站建设杭州公司如何制作网线
  • wordpress小说下载站深圳住房和建设局官网站
  • 霞浦建站公司兼职做问卷调查的网站
  • 给别人建网站工作行吗秦皇岛seo服务外包
  • 关于做网站的英语对话广东网站建设开发
  • 网络优化公司哪家好优化网站 主题
  • 买卖网站建设关键词优化是什么意思
  • wordpress全站pjax网站建设验收确认书免费下载
  • 手游传奇网站999服陕西中交基础建设有限公司网站
  • 成都网站建设公司烟台 o2o平台带动做网站行业
  • 山东滨州有多少网站开发公司网易云跟帖 wordpress
  • excel连接网站 做数据分析店铺网站建设策划书
  • 如何建设谷歌网站手机app怎么打开