如何在ASP.Net项目中实现一个RSA加密功能

介绍

本篇文章为大家展示了如何在ASP。净项目中实现一个RSA加密功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

代码如下:


RSACryptoServiceProvider RSA=new RSACryptoServiceProvider ();
RSAParameters rsaParamsExcludePrivate=rsa.ExportParameters(假);
RSAParameters rsaParamsIncludePrivate=rsa.ExportParameters(真正);

RSACryptoServiceProvider类的ExportParameters (bool)方法用于导出RSA参数,真表示导出上述八个字段的“私钥”,假表示导出“公钥”。

使用RSA参数进行加密解密:这一步需要把上面两个参数导入到RSACryptoServiceProvider类对象中,再用它对数据进行加密。如下面的代码所示,我们可以写一个函数来完成加密过程:

代码如下:


公共byte [] RSAEncrypt (byte [] b)
{
RSACryptoServiceProvider RSA=new RSACryptoServiceProvider ();
rsa.ImportParameters (rsaParamsExcludePrivate);//导入公钥EncryptedData=https://www.yisu.com/zixun/rsa.Encrypt
byte [] (DataToEncrypt、虚假);
返回EncryptedData;
}

解密时只要把rsa.ImportParameters (rsaParamsExcludePrivate)换成rsa.ImportParameters (rsaParamsExcludePrivate),再把加密换成解密就行了。

保存和加载RSA参数:RSA参数可以保存为XML格式、下面代码说明了如何保存和加载(只列出了关键部分)

保存:

代码如下:


RSACryptoServiceProvider RSA=new RSACryptoServiceProvider ();
StreamWriter作家=new StreamWriter (@" d: \ PublicAndPrivateKey.xml");
字符串PPKeyXml=rsa.ToXmlString(真正);//保存私钥writer.Write (PPKeyXml);
writer.Close ();
作家=new StreamWriter (@" d: \ PublicKey.xml");
字符串PKeyXml=rsa.ToXmlString(假);//保存公钥
writer.Write (PKeyXml);
writer.Close ();


读取:

代码如下:


RSACryptoServiceProvider rsa=new RSACryptoServiceProvider ();
StreamReader读者=new StreamReader (@" d: \ PublicKey.xml");
字符串PKey=reader.ReadToEnd ();
rsa.FromXmlString (PKey);
reader.Close ();
StreamReader读者=new StreamReader (@" d: \ PublicAndPrivateKey.xml");
字符串PPKey=reader.ReadToEnd ();
reader.Close ();

ToXmlString和ExportParameters方法类似,假表示保存“公钥”,真表示保存“私钥”。

上述内容就是如何在ASP.Net项目中实现一个RSA加密功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

如何在ASP.Net项目中实现一个RSA加密功能