public static string EncodeString(
this Argon2Config config,
byte[]? hash
)<ExtensionAttribute>
Public Shared Function EncodeString (
config As Argon2Config,
hash As Byte()
) As Stringpublic:
[ExtensionAttribute]
static String^ EncodeString(
Argon2Config^ config,
array<unsigned char>^ hash
)Gemstone.Security.Cryptography.Argon2Hash.EncodeExtension.EncodeString = function(config, hash);Resulting format:
$argon2<T>[$v=<num>]$m=<num>,t=<num>,p=<num>[,keyid=<bin>][,data=<bin>][$<bin>[$<bin>]].
where <T> is either 'd' or 'i', <num> is a decimal integer (positive, fits in an 'unsigned long'), and <bin> is Base64-encoded data (no '=' padding characters, no newline or whitespace). The "keyid" is a binary identifier for a key (up to 8 bytes); "data" is associated data (up to 32 bytes). When the 'keyid' (resp. the 'data') is empty, then it is omitted from the output.
The last two binary chunks (encoded in Base64) are, in that order, the salt and the output. Both are optional, but you cannot have an output without a salt. The binary salt length is between 8 and 48 bytes. The output length is always exactly 32 bytes.