/// <summary>Generates a random 32 byte key.</summary> /// <returns>Returns a byte array with 32 random bytes</returns> public static byte[] GenerateKey() { return(SodiumCore.GetRandomBytes(KEY_BYTES)); }
//TODO: we could implement a method which increments the nonce. /// <summary>Generates a random 8 byte nonce.</summary> /// <returns>Returns a byte array with 8 random bytes.</returns> public static byte[] GenerateNonce() { return(SodiumCore.GetRandomBytes(NPUBBYTES)); }
/// <summary>Generates a random 16 byte salt for the Argon2i algorithm.</summary> /// <returns>Returns a byte array with 16 random bytes</returns> public static byte[] ArgonGenerateSalt() { return(SodiumCore.GetRandomBytes((int)ARGON_SALTBYTES)); }
/// <summary>Generates a random 32 byte salt for the Scrypt algorithm.</summary> /// <returns>Returns a byte array with 32 random bytes</returns> public static byte[] ScryptGenerateSalt() { return(SodiumCore.GetRandomBytes((int)SCRYPT_SALSA208_SHA256_SALTBYTES)); }
/// <summary>Generates a random 8 byte nonce.</summary> /// <returns>Returns a byte array with 8 random bytes</returns> public static byte[] GenerateNonceXChaCha20() { return(SodiumCore.GetRandomBytes(XCHACHA20_NONCEBYTES)); }
/// <summary>Generates a random 24 byte nonce.</summary> /// <returns>Returns a byte array with 24 random bytes</returns> public static byte[] GenerateNonce() { return(SodiumCore.GetRandomBytes(XSALSA20_NONCE_BYTES)); }