一个使用公钥签名与加密,使用密钥解密的案例。。。
来源:互联网 发布:单类信息发布源码 编辑:程序博客网 时间:2024/06/14 09:05
static void Main(string[] args)
{
string s = "老王头,这周又开始忙了!";
byte[] data;
RSACryptoServiceProvider rsp = new RSACryptoServiceProvider();
System.IO.File.WriteAllText(@"D:\wangran\公钥.xml", rsp.ToXmlString(false));
System.IO.File.WriteAllText(@"D:\wangran\密钥.xml", rsp.ToXmlString(true));
//byte[] 公钥 = rsp.ExportCspBlob(false);
byte[] 密钥 = rsp.ExportCspBlob(true);//负责解密
//System.IO.File.WriteAllText(@"D:\wangran\公钥.txt", Convert.ToBase64String(公钥));
System.IO.File.WriteAllText(@"D:\wangran\密钥.txt", Convert.ToBase64String(密钥));
data = System.Text.UTF8Encoding.UTF8.GetBytes(s);
byte[] data_1 = rsp.SignData(data, "md5");
byte[] data1 = rsp.Encrypt(data, false);
Console.WriteLine(
System.Text.UTF8Encoding.UTF8.GetString(data));
Console.WriteLine(
System.Text.UTF8Encoding.UTF8.GetString(data_1));
rsp = new RSACryptoServiceProvider();
//rsp.ImportCspBlob(公钥);
rsp.FromXmlString(System.IO.File.ReadAllText(@"D:\wangran\公钥.xml"));
//公钥只签名与加密,不解密
byte[] data2 = rsp.Encrypt(data, false);
Console.WriteLine(Convert.ToBase64String(data1));
Console.WriteLine(Convert.ToBase64String(data2));
//验签
Console.WriteLine(rsp.VerifyData(data, "md5", data_1));
rsp = new RSACryptoServiceProvider();
//rsp.ImportCspBlob(公钥);
rsp.FromXmlString(System.IO.File.ReadAllText(@"D:\wangran\公钥.xml"));
data2 = rsp.Encrypt(data, false);
Console.WriteLine(Convert.ToBase64String(data1));
Console.WriteLine(Convert.ToBase64String(data2));
//验签
Console.WriteLine(rsp.VerifyData(data, "md5", data_1));
}
{
string s = "老王头,这周又开始忙了!";
byte[] data;
RSACryptoServiceProvider rsp = new RSACryptoServiceProvider();
System.IO.File.WriteAllText(@"D:\wangran\公钥.xml", rsp.ToXmlString(false));
System.IO.File.WriteAllText(@"D:\wangran\密钥.xml", rsp.ToXmlString(true));
//byte[] 公钥 = rsp.ExportCspBlob(false);
byte[] 密钥 = rsp.ExportCspBlob(true);//负责解密
//System.IO.File.WriteAllText(@"D:\wangran\公钥.txt", Convert.ToBase64String(公钥));
System.IO.File.WriteAllText(@"D:\wangran\密钥.txt", Convert.ToBase64String(密钥));
data = System.Text.UTF8Encoding.UTF8.GetBytes(s);
byte[] data_1 = rsp.SignData(data, "md5");
byte[] data1 = rsp.Encrypt(data, false);
Console.WriteLine(
System.Text.UTF8Encoding.UTF8.GetString(data));
Console.WriteLine(
System.Text.UTF8Encoding.UTF8.GetString(data_1));
rsp = new RSACryptoServiceProvider();
//rsp.ImportCspBlob(公钥);
rsp.FromXmlString(System.IO.File.ReadAllText(@"D:\wangran\公钥.xml"));
//公钥只签名与加密,不解密
byte[] data2 = rsp.Encrypt(data, false);
Console.WriteLine(Convert.ToBase64String(data1));
Console.WriteLine(Convert.ToBase64String(data2));
//验签
Console.WriteLine(rsp.VerifyData(data, "md5", data_1));
rsp = new RSACryptoServiceProvider();
//rsp.ImportCspBlob(公钥);
rsp.FromXmlString(System.IO.File.ReadAllText(@"D:\wangran\公钥.xml"));
data2 = rsp.Encrypt(data, false);
Console.WriteLine(Convert.ToBase64String(data1));
Console.WriteLine(Convert.ToBase64String(data2));
//验签
Console.WriteLine(rsp.VerifyData(data, "md5", data_1));
}
阅读全文
0 0
- 一个使用公钥签名与加密,使用密钥解密的案例。。。
- 使用密钥加密、解密实例
- 公钥与密钥核心思想:加密和解密采用不同的密钥
- Python使用Rsa公钥加密,私钥解密以及私钥签名,公钥验签的例子
- 客户端使用公钥进行加密,服务端使用密钥进行解密
- BASE64 加密与解密的使用
- .NET Core 使用RSA算法 加密/解密/签名/验证签名
- C#使用MD5加密,DES加密解密的一个类
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- .net中的带密钥的加密与解密
- RSA加密解密与签名
- 基于Crypto++/Cryptopp的rsa密钥生成,rsa加密、解密,rsa签名、验签
- 基于Crypto++/Cryptopp的rsa密钥生成,rsa加密、解密,rsa签名、验签
- 基于Crypto++/Cryptopp的rsa密钥生成,rsa加密、解密,rsa签名、验签12
- 基于Crypto++/Cryptopp的rsa密钥生成,rsa加密、解密,rsa签名、验签
- 基于Crypto++/Cryptopp的rsa密钥生成,rsa加密、解密,rsa签名、验签12
- RSA密钥生成、加密解密、签名验签
- 命令空间
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock
- xhsell 配置虚拟主机重要一步
- OpenCV学习笔记(一)
- TypeScript开发环境搭建-Visual Studio Code
- 一个使用公钥签名与加密,使用密钥解密的案例。。。
- 来说说(Strategy)策略模式
- MyFlag Step13:后台代码编写、客户端具体功能实现以及界面优化
- 使用PyQt来编写第一个Python GUI程序
- java 模拟窗口排队
- ajax异步请求
- Kotlin入门资料搜集
- 大型网站技术架构:核心原理与案例分析
- [LibreOJ β Round]ZQC的游戏