目前 PHP 所有的 JWT 库都是用 PHP 语言编写的,为了提高性能,我基于 openssl 库,用 PHP 扩展实现了一个 JWT
GitHub: https://github.com/cdoco/php-jwt
$key = "example-hmac-key";
$claims = array(
"data" => [
"name" => "ZiHang Gao",
"admin" => true
],
"iss" => "http://example.org",
"sub" => "1234567890",
);
// default HS256 algorithm
$token = jwt_encode($claims, $key);
echo $token . PHP_EOL;
//eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
//eyJpc3MiOiJodHRwOlwvXC9leGFtcGxlLm9yZyIsInN1YiI6IjEyMzQ1Njc4OTAiLCJuYW1lIjoiWmlIYW5nIEdhbyIsImFkbWluIjp0cnVlfQ.
//2lFeBTsRegsjXiBCZNkW41KFlsZPSFu7KTsyAM9lUiQ
print_r(jwt_decode($token, $key));
/**
Array
(
[data] => Array
(
[name] => ZiHang Gao
[admin] => 1
)
[iss] => http://example.org
[sub] => 1234567890
)
*/
1
oott123 2018 年 5 月 24 日
怎么也得搞个 benchmark 让大家看看你的有多快啊,不然怎么吸引用户 233
|
2
qloog 2018 年 5 月 24 日
能写出来就至少给个 666
|
3
predator 2018 年 5 月 24 日
赞一个,7+的暂时只能在测试环境体验下先
|
5
wensonsmith 2018 年 5 月 24 日
战略 Mark, 666
|
6
yongjing 2018 年 5 月 24 日
66666
|
7
m939594960 2018 年 5 月 24 日
好东西啊
|
8
swordne 2018 年 5 月 24 日
star 一下。
|
9
LeungJZ 2018 年 5 月 24 日 via iPhone
战略性马克。
习惯性 666。 |
10
vibbow 2018 年 5 月 24 日
其实并没有太大作用,单个请求周期里,JWT 运算占用的总运算时间非常之少,哪怕性能提升 1w 倍对整个请求的响应时间也不会有什么显著改进的。
而且还会导致跨版本升级的时候还需要等你这个扩展支持新版本... 目前耗时大头应该都是数据库操作... |
11
notreami 2018 年 5 月 24 日
还不如加个缓存
|
12
changwei 2018 年 5 月 25 日 via Android
jwt 的加解密操作主要都是用 php 扩展提供的加解密和序列化函数操作的,php 扩展函数本身就是 c 写的,理论来说纯扩展和 php 库的速度差别应该不大啊。
|
13
pushy 2018 年 5 月 25 日
你的业务性能消耗在 JWT 上?
|
14
mrgirff 2025 年 4 月 13 日
推荐一个可以在线生成 JWT Key Generator https://jwtsecrets.com/tools
|