RSA的签名认证实现
来源:互联网 发布:java enum 单例 编辑:程序博客网 时间:2024/05/21 06:50
大致代码如下:
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");
}
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");
}
- RSA的签名认证实现
- C#实现RSA加密与解密、签名与认证
- C#实现RSA加密与解密、签名与认证
- JS RSA 签名实现
- Java的RSA签名
- Python的RSA签名
- PHP的RSA签名
- 基于RSA的盲签名算法Java实现
- RSA签名验证的JAVA JDK实现方式
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- 学习RSA加密与解密、签名与认证
- openssl实现md5加rsa签名
- php实现rsa签名和验签
- Python 实现RSA SHA-1签名
- RSA 签名
- RSA 签名
- C#中RSA加密解密和签名与验证的实现
- std
- 使用VB或VC操作Excel 2003(例程)
- 如何清除硬盘中的废弃文件
- CreateIpForwardEntry函数在VIsta/win2008下需要注意的一个地方
- STL set 常用操作简介
- RSA的签名认证实现
- 软件开发者面试百问-----你怎么保证代码执行速度快,而又不出问题?
- 吃饭的痛苦
- 单片机应用编程技巧 (FAQ)
- 好好学习,天天向上
- struts1.x与struts2的比较表
- 软件开发者面试百问-----什么时候用多态,什么时候用委派?
- 创建安全的Web应用程序
- 浅谈如何把项目做好