AsymmetricAlgorithm.KeySize Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia rozmiar w bitach modulo klucza używanego przez algorytm asymetryczny.
public:
virtual property int KeySize { int get(); void set(int value); };
public virtual int KeySize { get; set; }
member this.KeySize : int with get, set
Public Overridable Property KeySize As Integer
Wartość właściwości
Rozmiar w bitach modułu klucza używanego przez algorytm asymetryczny.
Wyjątki
Rozmiar modulo klucza jest nieprawidłowy.
Przykłady
W poniższym przykładzie kodu pokazano, jak zastąpić KeySize właściwość, aby sprawdzić, czy mieści się ona w zakresie określonym w lokalnej keySizes
zmiennej składowej. Ten przykład kodu jest częścią większego przykładu udostępnionego AsymmetricAlgorithm dla klasy .
public:
property int KeySize
{
virtual int get() override
{
return KeySizeValue;
}
virtual void set(int value) override
{
for (int i = 0; i < customValidKeySizes->Length; i++)
{
if (customValidKeySizes[i]->SkipSize == 0)
{
if (customValidKeySizes[i]->MinSize == value)
{
KeySizeValue = value;
return;
}
}
else
{
for (int j = customValidKeySizes[i]->MinSize;
j <= customValidKeySizes[i]->MaxSize;
j += customValidKeySizes[i]->SkipSize)
{
if (j == value)
{
KeySizeValue = value;
return;
}
}
}
}
// If the key does not fall within the range identified
// in the keySizes member variable, throw an exception.
throw gcnew CryptographicException("Invalid key size.");
}
}
public override int KeySize
{
get { return KeySizeValue; }
set
{
for (int i=0; i < keySizes.Length; i++)
{
if (keySizes[i].SkipSize == 0)
{
if (keySizes[i].MinSize == value)
{
KeySizeValue = value;
return;
}
}
else
{
for (int j = keySizes[i].MinSize;
j <= keySizes[i].MaxSize;
j += keySizes[i].SkipSize)
{
if (j == value)
{
KeySizeValue = value;
return;
}
}
}
}
// If the key does not fall within the range identified
// in the keySizes member variable, throw an exception.
throw new CryptographicException("Invalid key size.");
}
}
Public Overrides Property KeySize() As Integer
Get
Return KeySizeValue
End Get
Set(ByVal Value As Integer)
For i As Int16 = 0 To keySizes.Length - 1 Step i
If (keySizes(i).SkipSize.Equals(0)) Then
If (keySizes(i).MinSize.Equals(Value)) Then
KeySizeValue = Value
Return
End If
Else
For j As Integer = keySizes(i).MinSize _
To keySizes(i).MaxSize _
Step keySizes(i).SkipSize
If (j.Equals(Value)) Then
KeySizeValue = Value
Return
End If
Next
End If
Next
' If the key does not fall within the range identified
' in the keySizes member variable, throw an exception.
Throw New CryptographicException("Invalid key size.")
End Set
End Property
Uwagi
Prawidłowe rozmiary kluczy są określane przez konkretną implementację algorytmu asymetrycznego i są wymienione we LegalKeySizes właściwości .