RSA的签名认证实现

大致代码如下:

 

FileStream objFile = File . OpenRead( "test.txt");
HashAlgorithm md5 = HashAlgorithm . Create( "MD5");
byte [] hashData = md5 . ComputeHash( objFile);
Console . WriteLine( Convert . ToBase64String( hashData . ToArray()));

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter( RSA);

RSAFormatter . SetHashAlgorithm( "MD5");
byte [] signEncryptedData = RSAFormatter . CreateSignature( hashData);

string strCode = "";
//现实加密结果
for( int i = 0; i < signEncryptedData . Length; i ++)
{
    strCode += " " + signEncryptedData [ i ]. ToString();
}
Console . WriteLine( strCode);                                 


//解密认证

RSAPKCS1SignatureDeformatter RSADeformatter = new RSAPKCS1SignatureDeformatter( RSA);
//指定解密的时候HASH算法为MD5
RSADeformatter . SetHashAlgorithm( "MD5");
if ( RSADeformatter . VerifySignature( hashData , signEncryptedData))
{
    Console . WriteLine( "确认");
}
else
{
    Console . WriteLine( "NO");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值