python 生成RS256 jwt
时间: 2024-03-27 16:33:07 浏览: 249
Python库 | lever-jwt-0.1.2.tar.gz
在Python中生成RS256 JWT(JSON Web Token),你可以使用`PyJWT`库来实现。下面是一个生成RS256 JWT的示例代码:
```python
import jwt
# 生成JWT的payload
payload = {
'sub': '1234567890',
'name': 'John Doe',
'iat': 1516239022
}
# 读取RSA私钥
with open('private.pem', 'r') as f:
private_key = f.read()
# 使用RS256算法生成JWT
jwt_token = jwt.encode(payload, private_key, algorithm='RS256')
print(jwt_token)
```
在上面的代码中,首先定义了JWT的payload,包含了一些自定义的信息。然后通过`open`函数读取了RSA私钥文件(例如`private.pem`),并将私钥赋值给`private_key`变量。最后使用`jwt.encode`函数生成JWT,指定算法为RS256。
请注意,生成JWT时需要使用私钥进行签名,因此你需要提前生成RSA密钥对,并将私钥保存在文件中。你可以使用`openssl`命令来生成RSA密钥对,例如:
```shell
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in private.pem -out public.pem
```
上述命令将生成一个2048位的RSA私钥文件`private.pem`和对应的公钥文件`public.pem`。
阅读全文