当前位置:首页 > 经验 >

rsa加密和解密过程(rsa加密解密的实际例子)

来源:原点资讯(www.yd166.com)时间:2022-10-30 02:08:52作者:YD166手机阅读>>

1. RSA加密与解密 -- 使用公钥加密、私钥解密

public class RSATool

{

public string Encrypt(string strText, string strPublicKey)

{

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

rsa.FromXmlString(strPublicKey);

byte[] byteText = Encoding.UTF8.GetBytes(strText);

byte[] byteEntry = rsa.Encrypt(byteText, false);

return Convert.ToBase64String(byteEntry);

}

public string Decrypt(string strEntryText,string strPrivateKey)

{

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

rsa.FromXmlString(strPrivateKey);

byte[] byteEntry = Convert.FromBase64String(strEntryText);

byte[] byteText = rsa.Decrypt(byteEntry, false);

return Encoding.UTF8.GetString(byteText);

}

public Dictionary<string,string> GetKey()

{

Dictionary<string, string> dictKey = new Dictionary<string, string>();

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

dictKey.Add("PublicKey", rsa.ToXmlString(false));

dictKey.Add("PrivateKey", rsa.ToXmlString(true));

return dictKey;

}

}

测试:

RSATool myRSA = new RSATool();

Dictionary<string, string> dictK = new Dictionary<string, string>();

dictK = myRSA.GetKey();

string strText = "123456";

Console.WriteLine("要加密的字符串是:{0}", strText);

string str1 = myRSA.Encrypt("123456", dictK["PublicKey"]);

Console.WriteLine("加密后的字符串:{0}", str1);

string str2 = myRSA.Decrypt(str1, dictK["PrivateKey"]);

Console.WriteLine("解密后的字符串:{0}", str2);

rsa加密和解密过程,rsa加密解密的实际例子(1)

2. RSA加密与解密 -- 使用同一个密钥容器进行加密与解密

public class RSAToolX

{

public string Encrypt(string strText)

{

CspParameters CSApars = new CspParameters();

CSApars.KeyContainerName = "Test001";

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);

byte[] byteText = Encoding.UTF8.GetBytes(strText);

byte[] byteEntry = rsa.Encrypt(byteText, false);

return Convert.ToBase64String(byteEntry);

}

public string Decrypt(string strEntryText)

{

CspParameters CSApars = new CspParameters();

CSApars.KeyContainerName = "Test001";

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);

byte[] byteEntry = Convert.FromBase64String(strEntryText);

byte[] byteText = rsa.Decrypt(byteEntry, false);

return Encoding.UTF8.GetString(byteText);

}

}

测试 :

RSAToolX myRSA = new RSAToolX();

string strText = "123456";

Console.WriteLine("要加密的字符串是:{0}", strText);

string str1 = myRSA.Encrypt("123456");

Console.WriteLine("加密后的字符串:{0}", str1);

string str2 = myRSA.Decrypt(str1);

Console.WriteLine("解密后的字符串:{0}", str2);

rsa加密和解密过程,rsa加密解密的实际例子(2)

总结

以上所述是小编给大家介绍的C#中RSA加密与解密的实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

栏目热文

非对称密钥加密解密过程(对称式加密解密过程图解)

非对称密钥加密解密过程(对称式加密解密过程图解)

2022年在合肥举办的国家网络安全宣传周网络全博览会上,国盾量子和科大讯飞还联合推出了一种让保障我们老百姓切身利益的黑科...

2022-10-30 02:25:04查看全文 >>

rsa加密原理图解(rsa加密解密的实际例子)

rsa加密原理图解(rsa加密解密的实际例子)

加密和解密使用的是两个不同的秘钥,这种算法叫做非对称加密。非对称加密又称为公钥加密,RSA只是公钥加密的一种。 数字签...

2022-10-30 02:24:59查看全文 >>

rsa加密模式(rsa加密过程图)

rsa加密模式(rsa加密过程图)

接口数据使用了 RSA 加密和签名?一篇文章带你搞定!1、前言 很多童鞋在工作中,会遇到一些接口使用RSA加密和签名来...

2022-10-30 02:22:00查看全文 >>

rsa非对称加密流程(RSA非对称加密)

rsa非对称加密流程(RSA非对称加密)

专注于IT行业优质技术服务号,欢迎关注作者:我叫Vincent密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进...

2022-10-30 02:04:22查看全文 >>

rsa加密步骤(rsa加密方法怎么进行的)

rsa加密步骤(rsa加密方法怎么进行的)

对称加密和非对称加密在说 RSA 之前,我们得先来说说这个什么事对称加密,什么又是非对称加密?对称加密指的就是加密和解密...

2022-10-30 01:49:06查看全文 >>

rsa加密原理总结(rsa加密解密用法)

rsa加密原理总结(rsa加密解密用法)

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破...

2022-10-30 02:20:01查看全文 >>

rsa加密使用方法(rsa非对称加密流程)

rsa加密使用方法(rsa非对称加密流程)

本文教你如何用Python与Java对文件进行不对称加密,并且Python与java共用一套密钥,可以相互加解密对方的...

2022-10-30 01:54:10查看全文 >>

rsa的加密和解密原理(rsa算法的加密和解密步骤)

rsa的加密和解密原理(rsa算法的加密和解密步骤)

数据信息安全对我们每个人都有很重要的意义,特别是一些敏感信息,可能一些类似于收货地址、手机号还没引起大家的注意。但是最直...

2022-10-30 02:19:20查看全文 >>

rsa加密和解密教程(rsa加密解密结果分析)

rsa加密和解密教程(rsa加密解密结果分析)

RSA加密验签是对安全性要求比较高的机构间通信常用的方式,密钥足够长的情况下,当前的计算能力还不足以解密(不过量子计算机...

2022-10-30 02:06:55查看全文 >>

rsa加密的流程(rsa加密算法主要步骤)

rsa加密的流程(rsa加密算法主要步骤)

目前常用的加密/解密算法主要有两类:对称加密算法和非对称加密算法。两者的主要区别在于加密和解密的密钥是否一致,一致的就是...

2022-10-30 02:09:13查看全文 >>

文档排行