CryptoProvider.Decrypt(Byte[]) 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 coderingstekst om tekst te wissen.
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()
Parameters
- cryptoText
- Byte[]
De coderingstekst die moet worden ontsleuteld.
Retouren
De ontsleutelde duidelijke tekst van cryptoText.
Uitzonderingen
cryptoText is nul.
Ontsleutelingsrecht niet verleend.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de Decrypt methode gebruikt om versleutelde gegevens te converteren naar niet-versleutelde gegevens.
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)