I would like to store password digests in structure that contains information how digest were generated; There will be concatenated these three values:
- {Name} of hashing functions used for computing HMAC (e.g. SHA256)
- {Salt} - randon 32 bytes of key data
- {Digest} - derived digest from {Salt} and cryptographic function {Name}
As divider I would like to use "$" (U+0024, DOLLAR SIGN) and encode it into Base64, this encoded value I would like to store in database.
Something like this:
SHA256${...salt data...}${...digest data...}
Reason why to store hashing function name is because backward / forward compatibility (authenticating).
Question - is information about hash function in this structure a security vulnerability? Is hashing function public knowledge?