CryptoProvider.Decrypt(Byte[]) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Descifra texto cifrado para obtener texto no cifrado.
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.
Devoluciones
- Byte[]
Texto descifrado de cryptoText
.
Excepciones
cipherText
es null.
Derecho de descifrado no concedido.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el Decrypt método para convertir datos cifrados en datos sin cifrar.
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)