https://github.com/lemon-mint/protocol-buffers-web-tokens
Protocol Buffers based web token (JSON Web Token Alternative)
https://github.com/lemon-mint/protocol-buffers-web-tokens
Last synced: 3 months ago
JSON representation
Protocol Buffers based web token (JSON Web Token Alternative)
- Host: GitHub
- URL: https://github.com/lemon-mint/protocol-buffers-web-tokens
- Owner: lemon-mint
- License: cc0-1.0
- Created: 2021-02-03T03:49:50.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-04T06:50:04.000Z (over 4 years ago)
- Last Synced: 2025-01-20T10:11:49.122Z (4 months ago)
- Size: 5.86 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Protocol-Buffers-Web-Tokens
Protocol Buffers based web token (JSON Web Token Alternative)- Smaller token size
- Faster decoding
- Reduced overhead## Creation process
```
base64_url_encode(header) + "." +
base64_url_encode(body) + "." +
base64_url_encode(signature or nonce)
```## Structure of the Signature
### Signing only
----
#### HMAC-SHA-256
----
```
body = payload
signature = HMAC_SHA256(
base64_url_encode(header) +
"." +
base64_url_encode(body),
signingKey
)
```#### HMAC-SHA-384
----
```
body = payload
signature = HMAC_SHA384(
base64_url_encode(header) +
"." +
base64_url_encode(body),
signingKey
)
```#### HMAC-SHA-512
----
```
body = payload
signature = HMAC_SHA512(
base64_url_encode(header) +
"." +
base64_url_encode(body),
signingKey
)
```#### BLAKE2B-256
----
```
body = payload
signature = blake2b_256(
base64_url_encode(header) +
"." +
base64_url_encode(body),
signingKey
)
```#### BLAKE2B-384
----
```
body = payload
signature = blake2b_384(
base64_url_encode(header) +
"." +
base64_url_encode(body),
signingKey
)
```#### BLAKE2B-512
----
```
body = payload
signature = blake2b_512(
base64_url_encode(header) +
"." +
base64_url_encode(body),
signingKey
)
```#### RSA-SHA-256
----
```
body = payload
signature = RSASSA_PKCS1_v1_5(
SHA256(base64_url_encode(header) + "." + base64_url_encode(body)),
signingKey
)
```#### RSA-SHA-384
----
```
body = payload
signature = RSASSA_PKCS1_v1_5(
SHA384(base64_url_encode(header) + "." + base64_url_encode(body)),
signingKey
)
```#### RSA-SHA-512
----
```
body = payload
signature = RSASSA_PKCS1_v1_5(
SHA512(base64_url_encode(header) + "." + base64_url_encode(body)),
signingKey
)
```