RSACryptoServiceProvider.Decrypt Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Ontsleutelt gegevens die eerder zijn versleuteld.
Overloads
| Name | Description |
|---|---|
| Decrypt(Byte[], Boolean) |
Verouderd.
Ontsleutelt gegevens met het RSA algoritme. |
| Decrypt(Byte[], RSAEncryptionPadding) |
Ontsleutelt gegevens die eerder met het RSA algoritme zijn versleuteld met behulp van de opgegeven opvulling. |
Decrypt(Byte[], Boolean)
Let op
RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.
Ontsleutelt gegevens met het RSA algoritme.
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()
Parameters
- rgb
- Byte[]
De gegevens die moeten worden ontsleuteld.
- fOAEP
- Boolean
true om directe RSA ontsleuteling uit te voeren met behulp van OAEP-opvulling; anders false moet u PKCS#1 v1.5 opvulling gebruiken.
Retouren
De ontsleutelde gegevens, de oorspronkelijke tekst zonder opmaak vóór versleuteling.
- Kenmerken
Uitzonderingen
De cryptografische serviceprovider (CSP) kan niet worden verkregen.
– of –
De fOAEP parameter is true en de lengte van de rgb parameter is groter dan KeySize.
– of –
De sleutel komt niet overeen met de versleutelde gegevens. De uitzonderingsformulering is echter mogelijk niet juist. Het kan bijvoorbeeld zeggen Not enough storage is available to process this command.
rgb is null.
Voorbeelden
In het volgende codevoorbeeld worden gegevens versleuteld en ontsleuteld.
In dit voorbeeld wordt de ASCIIEncoding klasse gebruikt. De UnicodeEncoding klasse kan echter de voorkeur hebben bij grote gegevensbewerkingen. De versleutelde waarde kan worden opgeslagen als een nvarchar gegevenstype in Microsoft SQL Server.
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
Opmerkingen
Gebruik Encrypt deze methode om gegevens te versleutelen voor ontsleuteling.
Zie ook
Van toepassing op
Decrypt(Byte[], RSAEncryptionPadding)
Ontsleutelt gegevens die eerder met het RSA algoritme zijn versleuteld met behulp van de opgegeven opvulling.
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()
Parameters
- data
- Byte[]
De gegevens die moeten worden ontsleuteld.
- padding
- RSAEncryptionPadding
De opvulling.
Retouren
De ontsleutelde gegevens.
Uitzonderingen
De opvullingsmodus wordt niet ondersteund.
Opmerkingen
padding moet of RSAEncryptionPadding.Pkcs1 of RSAEncryptionPadding.OaepSHA1 zijn.