다음을 통해 공유


CryptoProvider.Decrypt(Byte[]) 메서드

정의

암호화 텍스트를 일반 텍스트로 해독합니다.

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()

매개 변수

cryptoText
Byte[]

해독할 암호화 텍스트입니다.

반환

Byte[]

cryptoText를 해독한 일반 텍스트입니다.

예외

cipherText가 null입니다.

암호 해독 권한이 부여되지 않은 경우

예제

다음 예제에서는 사용 하는 방법의 Decrypt 암호화 되지 않은 데이터를 암호화 된 데이터를 변환 하는 방법입니다.

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)

적용 대상

추가 정보