本文整理汇总了C#中ICryptoTransform.ThrowIfNull方法的典型用法代码示例。如果您正苦于以下问题:C# ICryptoTransform.ThrowIfNull方法的具体用法?C# ICryptoTransform.ThrowIfNull怎么用?C# ICryptoTransform.ThrowIfNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICryptoTransform
的用法示例。
在下文中一共展示了ICryptoTransform.ThrowIfNull方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Encrypt
public static byte[] Encrypt(byte[] buffer, ICryptoTransform encryptor)
{
buffer.ThrowIfNull("buffer");
encryptor.ThrowIfNull("encryptor");
var originalSize = buffer.Length;
var stream = new MemoryStream(BitConverter.GetBytes(originalSize).Concat(buffer).ToArray());
// Encrypt the compressed memory stream into the encrypted memory stream.
MemoryStream encrypted = new MemoryStream();
using (var cryptor = new CryptoStream(encrypted, encryptor, CryptoStreamMode.Write))
{
// Write the stream to the encrypted memory stream.
cryptor.Write(stream.ToArray(), 0, (int)stream.Length);
cryptor.FlushFinalBlock();
}
return encrypted.ToArray();
}
示例2: Decrypt
public static byte[] Decrypt(byte[] buffer, ICryptoTransform decryptor)
{
buffer.ThrowIfNull("buffer");
decryptor.ThrowIfNull("decryptor");
// Create the array that holds the result.
byte[] decrypted = new byte[buffer.Length];
// Create the crypto stream that is used for decrypt. The first argument holds the input as memory stream.
using (var cryptor = new CryptoStream(new MemoryStream(buffer), decryptor, CryptoStreamMode.Read))
{
// Read the encrypted values into the decrypted stream. Decrypts the content.
cryptor.Read(decrypted, 0, decrypted.Length);
}
buffer = decrypted;
int originalSize = BitConverter.ToInt32(buffer.Take(4).ToArray(), 0);
buffer = buffer.Skip(4).Take(originalSize).ToArray();
return buffer;
}