Для создания цифровых подписей в JWT используются различные алгоритмы хеширования, среди них:
- HS256 (HMAC с использованием SHA-256). 34 Симметричный метод, для создания и проверки подписи используется один и тот же секретный ключ. 3
- RS256 (RSA с использованием SHA-256). 3 Асимметричный метод, для шифрования и дешифровки данных используется пара отдельных ключей. 3
- HS384 (HMAC с использованием SHA-384). 4
- HS512 (HMAC с использованием SHA-512). 4
- ES256 (ECDSA с использованием SHA-256). 4
- ES256K (ECDSA с кривой secp256k1 и использованием SHA-256). 4
- ES384 (ECDSA с использованием SHA-384). 4
- ES512 (ECDSA с использованием SHA-512). 4
- PS256 (RSASSA-PSS с использованием SHA-256 и MGF1). 4
- PS384 (RSASSA-PSS с использованием SHA-384 и MGF1). 4
- PS512 (RSASSA-PSS с использованием SHA-512 и MGF1). 4
- EdDSA (поддержки подписи Ed25519 с использованием SHA-512 и Ed448 с использованием SHA-3). 4
Также существует алгоритм none, который указывает на отсутствие подписи, в таком случае проверить подлинность токена невозможно. 12