This wraps keys into a struct, which has a header flag. This flag is checked at runtime.
KeyHeader is an enum. The least significant bit holds purpose (Local = 0, Public = 1); the remaining are reserved for the version. This results in the following pattern:
The key structs should be prefixed with paseto_ additionally and typedefs shoud be avoided (they save the user typing the word "struct" at the cost of some clarity).
The KeyHeader enum should also be prefixed (type and its values). Preferably it should also use snake_case.
The key struct should be passed as a pointer everywhere, especially important for key loading
This wraps keys into a struct, which has a header flag. This flag is checked at runtime.
KeyHeader is an enum. The least significant bit holds purpose (Local = 0, Public = 1); the remaining are reserved for the version. This results in the following pattern:
See #7