Freigeben über


RSACryptoServiceProvider.Decrypt Methode

Definition

Entschlüsselt Daten, die zuvor verschlüsselt wurden.

Überlädt

Name Beschreibung
Decrypt(Byte[], Boolean)
Veraltet.

Entschlüsselt Daten mit dem RSA Algorithmus.

Decrypt(Byte[], RSAEncryptionPadding)

Entschlüsselt Daten, die zuvor mit dem RSA Algorithmus verschlüsselt wurden, indem der angegebene Abstand verwendet wird.

Decrypt(Byte[], Boolean)

Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs

Achtung

RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.

Entschlüsselt Daten mit dem RSA Algorithmus.

public:
 cli::array <System::Byte> ^ Decrypt(cli::array <System::Byte> ^ rgb, bool fOAEP);
public byte[] Decrypt(byte[] rgb, bool fOAEP);
[System.Obsolete("RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.", DiagnosticId="SYSLIB0064", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public byte[] Decrypt(byte[] rgb, bool fOAEP);
override this.Decrypt : byte[] * bool -> byte[]
[<System.Obsolete("RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.", DiagnosticId="SYSLIB0064", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
override this.Decrypt : byte[] * bool -> byte[]
member this.Decrypt : byte[] * bool -> byte[]
Public Function Decrypt (rgb As Byte(), fOAEP As Boolean) As Byte()

Parameter

rgb
Byte[]

Die zu entschlüsselnden Daten.

fOAEP
Boolean

true die direkte RSA Entschlüsselung mithilfe des OAEP-Abstands durchzuführen; andernfalls false für die Verwendung des PKCS#1 v1.5-Abstands.

Gibt zurück

Byte[]

Die entschlüsselten Daten, bei denen es sich um den ursprünglichen Nur-Text vor der Verschlüsselung handelt.

Attribute

Ausnahmen

Der kryptografische Dienstanbieter (CSP) kann nicht erworben werden.

- oder -

Der fOAEP Parameter ist true und die Länge des rgb Parameters größer als KeySizeist.

- oder -

Der Schlüssel stimmt nicht mit den verschlüsselten Daten überein. Der Ausnahmebegriff ist jedoch möglicherweise nicht korrekt. Beispielsweise kann es sagen Not enough storage is available to process this command.

rgb ist null.

Beispiele

Im folgenden Codebeispiel werden Daten verschlüsselt und entschlüsselt.

In diesem Beispiel wird die ASCIIEncoding Klasse verwendet. Die UnicodeEncoding Klasse kann jedoch in großen Datenvorgängen bevorzugt werden. Der verschlüsselte Wert kann als nvarchar Datentyp in Microsoft SQL Server gespeichert werden.

using System;
using System.Security.Cryptography;
using System.Text;

class RSACSPSample
{
    static void Main()
    {
        try
        {
            //Create a UnicodeEncoder to convert between byte array and string.
            ASCIIEncoding ByteConverter = new ASCIIEncoding();

            string dataString = "Data to Encrypt";

            //Create byte arrays to hold original, encrypted, and decrypted data.
            byte[] dataToEncrypt = ByteConverter.GetBytes(dataString);
            byte[] encryptedData;
            byte[] decryptedData;

            //Create a new instance of the RSACryptoServiceProvider class
            // and automatically create a new key-pair.
            RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider();

            //Display the origianl data to the console.
            Console.WriteLine("Original Data: {0}", dataString);

            //Encrypt the byte array and specify no OAEP padding.
            //OAEP padding is only available on Microsoft Windows XP or
            //later.
            encryptedData = RSAalg.Encrypt(dataToEncrypt, false);

            //Display the encrypted data to the console.
            Console.WriteLine("Encrypted Data: {0}", ByteConverter.GetString(encryptedData));

            //Pass the data to ENCRYPT and boolean flag specifying
            //no OAEP padding.
            decryptedData = RSAalg.Decrypt(encryptedData, false);

            //Display the decrypted plaintext to the console.
            Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData));
        }
        catch(CryptographicException e)
        {
            //Catch this exception in case the encryption did
            //not succeed.
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.Security.Cryptography
Imports System.Text

Module RSACSPExample

    Sub Main()
        Try
            'Create a UnicodeEncoder to convert between byte array and string.
            Dim ByteConverter As New ASCIIEncoding

            Dim dataString As String = "Data to Encrypt"

            'Create byte arrays to hold original, encrypted, and decrypted data.
            Dim dataToEncrypt As Byte() = ByteConverter.GetBytes(dataString)
            Dim encryptedData() As Byte
            Dim decryptedData() As Byte

            'Create a new instance of the RSACryptoServiceProvider class 
            ' and automatically create a new key-pair.
            Dim RSAalg As New RSACryptoServiceProvider

            'Display the origianl data to the console.
            Console.WriteLine("Original Data: {0}", dataString)

            'Encrypt the byte array and specify no OAEP padding.  
            'OAEP padding is only available on Microsoft Windows XP or
            'later.  
            encryptedData = RSAalg.Encrypt(dataToEncrypt, False)

            'Display the encrypted data to the console. 
            Console.WriteLine("Encrypted Data: {0}", ByteConverter.GetString(encryptedData))

            'Pass the data to ENCRYPT and boolean flag specifying 
            'no OAEP padding.
            decryptedData = RSAalg.Decrypt(encryptedData, False)

            'Display the decrypted plaintext to the console. 
            Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData))
        Catch e As CryptographicException
            'Catch this exception in case the encryption did
            'not succeed.
            Console.WriteLine(e.Message)
        End Try
    End Sub 

End Module

Hinweise

Wird verwendet Encrypt , um Daten für die Entschlüsselung mit dieser Methode zu verschlüsseln.

Weitere Informationen

Gilt für:

Decrypt(Byte[], RSAEncryptionPadding)

Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs
Quelle:
RSACryptoServiceProvider.Unix.cs

Entschlüsselt Daten, die zuvor mit dem RSA Algorithmus verschlüsselt wurden, indem der angegebene Abstand verwendet wird.

public:
 override cli::array <System::Byte> ^ Decrypt(cli::array <System::Byte> ^ data, System::Security::Cryptography::RSAEncryptionPadding ^ padding);
public override byte[] Decrypt(byte[] data, System.Security.Cryptography.RSAEncryptionPadding padding);
override this.Decrypt : byte[] * System.Security.Cryptography.RSAEncryptionPadding -> byte[]
Public Overrides Function Decrypt (data As Byte(), padding As RSAEncryptionPadding) As Byte()

Parameter

data
Byte[]

Die zu entschlüsselnden Daten.

padding
RSAEncryptionPadding

Der Abstand.

Gibt zurück

Byte[]

Die entschlüsselten Daten.

Ausnahmen

data ist null.

- oder -

padding ist null.

Der Abstandsmodus wird nicht unterstützt.

Hinweise

padding muss entweder RSAEncryptionPadding.Pkcs1 oder RSAEncryptionPadding.OaepSHA1 sein.

Gilt für: