本文整理汇总了C#中System.Security.Cryptography.AsymmetricKeyExchangeDeformatter类的典型用法代码示例。如果您正苦于以下问题:C# AsymmetricKeyExchangeDeformatter类的具体用法?C# AsymmetricKeyExchangeDeformatter怎么用?C# AsymmetricKeyExchangeDeformatter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AsymmetricKeyExchangeDeformatter类属于System.Security.Cryptography命名空间,在下文中一共展示了AsymmetricKeyExchangeDeformatter类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ContosoDeformatter
//引入命名空间
using System;
using System.Security.Cryptography;
namespace Contoso
{
public class ContosoDeformatter : AsymmetricKeyExchangeDeformatter
{
private RSA rsaKey;
// Default constructor.
public ContosoDeformatter(){}
// Constructor with the public key to use for encryption.
public ContosoDeformatter(AsymmetricAlgorithm key)
{
SetKey(key);
}
// Set the public key for encyption operations.
public override void SetKey(AsymmetricAlgorithm key) {
if (key != null)
{
rsaKey = (RSA)key;
}
else
{
throw new ArgumentNullException("key");
}
}
// Disallow access to the parameters of the formatter.
public override String Parameters
{
get { return null; }
set { ; }
}
// Create the encrypted key exchange data from the specified input
// data. This method uses the RSACryptoServiceProvider only. To
// support additional providers or provide custom decryption logic,
// add logic to this member.
public override byte[] DecryptKeyExchange(byte[] rgbData) {
byte[] decryptedBytes = null;
if (rsaKey != null)
{
if (rsaKey is RSACryptoServiceProvider)
{
RSACryptoServiceProvider serviceProvder =
(RSACryptoServiceProvider)rsaKey;
decryptedBytes = serviceProvder.Decrypt(rgbData, true);
}
// Add custom decryption logic here.
}
else
{
throw new CryptographicUnexpectedOperationException(
"Cryptography_MissingKey");
}
return decryptedBytes;
}
}
}
//
输出:
Data to encrypt : Sample Contoso encryption application. Encrypted data: Khasdf-3248&$%23 Data decrypted : Sample Contoso encryption application. This sample completed successfully; press Enter to exit.