public static SharedSecret Import( ReadOnlySpan <byte> sharedSecret) { if (sharedSecret.Length > 128) { throw Error.Argument_SharedSecretLength(nameof(sharedSecret), 128.ToString()); } Sodium.Initialize(); SecureMemoryHandle sharedSecretHandle = null; bool success = false; try { SecureMemoryHandle.Import(sharedSecret, out sharedSecretHandle); success = true; } finally { if (!success && sharedSecretHandle != null) { sharedSecretHandle.Dispose(); } } return(new SharedSecret(sharedSecretHandle)); }
public static void GenerateBytes( Span <byte> bytes) { Sodium.Initialize(); GenerateBytesCore(bytes); }
public static void GenerateBytes( Span <byte> bytes) { if (bytes.Length == 0) { return; } Sodium.Initialize(); GenerateBytesCore(bytes); }
public static byte[] GenerateBytes( int count) { if (count < 0) { throw Error.ArgumentOutOfRange_GenerateNegativeCount(nameof(count)); } Sodium.Initialize(); byte[] bytes = new byte[count]; GenerateBytesCore(bytes); return(bytes); }
private protected Algorithm() { Sodium.Initialize(); }
private protected RandomGenerator() { Sodium.Initialize(); }
internal Algorithm() { Sodium.Initialize(); }