CryptoProvider.Decrypt(Byte[]) Método

Definición

Descifra texto cifrado para obtener texto no cifrado.Decrypts cipher text to clear text.

public:
 cli::array <System::Byte> ^ Decrypt(cli::array <System::Byte> ^ cryptoText);
public byte[] Decrypt (byte[] cryptoText);
member this.Decrypt : byte[] -> byte[]
Public Function Decrypt (cryptoText As Byte()) As Byte()

Parámetros

cryptoText
Byte[]

Texto cifrado que se va a descifrar.The cipher text to decrypt.

Devoluciones

Byte[]

Texto descifrado de cryptoText.The decrypted clear text of cryptoText.

Excepciones

cipherText es null.cipherText is null.

Derecho de descifrado no concedido.Decryption right not granted.

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar el Decrypt método para convertir datos cifrados en datos sin cifrar.The following example shows how to use the Decrypt method to convert encrypted data to unencrypted data.

byte[] imageBuffer;
using (Stream cipherTextStream = File.OpenRead(encryptedFile))
{
    byte[] contentLengthByteBuffer = new byte[sizeof(Int32)];
    // Read the length of the source content file
    // from the first four bytes of the encrypted file.
    ReliableRead(cipherTextStream, contentLengthByteBuffer,
                 0, sizeof(Int32));

    // Allocate the clearText buffer.
    int contentLength =
        BitConverter.ToInt32(contentLengthByteBuffer, 0);
    imageBuffer = new byte[contentLength];

    // Allocate the cipherText block.
    byte[] cipherTextBlock =
        new byte[cryptoProvider.BlockSize];

    // decrypt cipherText to clearText block by block.
    int imageBufferIndex = 0;
    for ( ; ; )
    {   // Read cipherText block.
        int readCount = ReliableRead(
                            cipherTextStream,
                            cipherTextBlock, 0,
                            cryptoProvider.BlockSize);
        // readCount of zero is end of data.
        if (readCount == 0)
            break; // for

        // Decrypt cipherText to clearText.
        byte[] clearTextBlock =
            cryptoProvider.Decrypt(cipherTextBlock);

        // Copy the clearTextBlock to the imageBuffer.
        int copySize = Math.Min(clearTextBlock.Length,
                            contentLength-imageBufferIndex);
        Array.Copy(clearTextBlock, 0,
            imageBuffer, imageBufferIndex, copySize);
        imageBufferIndex += copySize;
    }
}// end:using (Stream cipherTextStream = (close/dispose)
Dim imageBuffer() As Byte
Using cipherTextStream As Stream = File.OpenRead(encryptedFile)
    Dim expression As Int32
    Dim contentLengthByteBuffer(Len(expression) - 1) As Byte
    ' Read the length of the source content file
    ' from the first four bytes of the encrypted file.
    ReliableRead(cipherTextStream, contentLengthByteBuffer, 0, Len(expression))

    ' Allocate the clearText buffer.
    Dim contentLength As Integer = BitConverter.ToInt32(contentLengthByteBuffer, 0)
    imageBuffer = New Byte(contentLength - 1) {}

    ' Allocate the cipherText block.
    Dim cipherTextBlock(cryptoProvider.BlockSize - 1) As Byte

    ' decrypt cipherText to clearText block by block.
    Dim imageBufferIndex As Integer = 0
    Do
        Dim readCount As Integer = ReliableRead(cipherTextStream, cipherTextBlock, 0, cryptoProvider.BlockSize)
        ' readCount of zero is end of data.
        If readCount = 0 Then
            Exit Do ' for
        End If

        ' Decrypt cipherText to clearText.
        Dim clearTextBlock() As Byte = cryptoProvider.Decrypt(cipherTextBlock)

        ' Copy the clearTextBlock to the imageBuffer.
        Dim copySize As Integer = Math.Min(clearTextBlock.Length, contentLength - imageBufferIndex)
        Array.Copy(clearTextBlock, 0, imageBuffer, imageBufferIndex, copySize)
        imageBufferIndex += copySize
    Loop
End Using ' end:using (Stream cipherTextStream = (close/dispose)

Se aplica a

Consulte también