SymmetricAlgorithm.LegalKeySizes Property
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the key sizes, in bits, that are supported by the symmetric algorithm.
public:
virtual property cli::array <System::Security::Cryptography::KeySizes ^> ^ LegalKeySizes { cli::array <System::Security::Cryptography::KeySizes ^> ^ get(); };
public virtual System.Security.Cryptography.KeySizes[] LegalKeySizes { get; }
member this.LegalKeySizes : System.Security.Cryptography.KeySizes[]
Public Overridable ReadOnly Property LegalKeySizes As KeySizes()
An array that contains the key sizes supported by the algorithm.
The following example shows the value of LegalKeySizes for the AES symmetric algorithm.
using System;
using System.Security.Cryptography;
namespace SymmetricAlgo
{
class Program
{
static void Main(string[] args)
{
Aes aes = Aes.Create();
Console.WriteLine("Aes ");
KeySizes[] ks = aes.LegalKeySizes;
foreach (KeySizes k in ks)
{
Console.WriteLine("\tLegal min key size = " + k.MinSize);
Console.WriteLine("\tLegal max key size = " + k.MaxSize);
}
ks = aes.LegalBlockSizes;
foreach (KeySizes k in ks)
{
Console.WriteLine("\tLegal min block size = " + k.MinSize);
Console.WriteLine("\tLegal max block size = " + k.MaxSize);
}
}
}
}
//This sample produces the following output:
//Aes
// Legal min key size = 128
// Legal max key size = 256
// Legal min block size = 128
// Legal max block size = 128
Imports System.Security.Cryptography
Class Program
Shared Sub Main(ByVal args() As String)
Dim aes As Aes = Aes.Create()
Console.WriteLine("Aes ")
Dim ks As KeySizes() = aes.LegalKeySizes
Dim k As KeySizes
For Each k In ks
Console.WriteLine(vbTab + "Legal min key size = " & k.MinSize)
Console.WriteLine(vbTab + "Legal max key size = " & k.MaxSize)
Next k
ks = aes.LegalBlockSizes
For Each k In ks
Console.WriteLine(vbTab + "Legal min block size = " & k.MinSize)
Console.WriteLine(vbTab + "Legal max block size = " & k.MaxSize)
Next k
End Sub
End Class
'This sample produces the following output:
'Aes
' Legal min key size = 128
' Legal max key size = 256
' Legal min block size = 128
' Legal max block size = 128
The symmetric algorithm supports only key sizes that match an entry in this array.
Product | Versions |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
.NET feedback
.NET is an open source project. Select a link to provide feedback: