rsa加密算法使用示例分享

 更新时间:2014年01月11日 09:49:35   作者:  
这篇文章主要介绍了rsa加密算法使用示例,代码中有注释,大家参考使用吧

复制代码 代码如下:

产生私钥和公钥
System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
//得到私钥主要保存了RSAParameters中的8各参数
privateKey = myrsa.ToXmlString(true);
//得到公钥保存了RSAParameters中2个参数
publicKey = myrsa.ToXmlString(false);

RAS实现加密
System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
//得到公钥
myrsa.FromXmlString(publicKey);
//把你要加密的内容转换成byte[]
byte[] PlainTextBArray = (new UnicodeEncoding()).GetBytes("这里是你要加密的内容");
//使用.NET中的Encrypt方法加密
byte[] CypherTextBArray = myrsa.Encrypt(PlainTextBArray, false);
//最后吧加密后的byte[]转换成Base64String,这里就是加密后的内容了
Result = Convert.ToBase64String(CypherTextBArray)


RAS实现解密
System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
//得到私钥
myrsa.FromXmlString(xmlPrivateKey);
//把原来加密后的String转换成byte[]
byte[] PlainTextBArray = Convert.FromBase64String("刚才加密后的string");
//使用.NET中的Decrypt方法解密
byte[] DypherTextBArray = myrsa.Decrypt(PlainTextBArray, false);
//转换解密后的byte[],这就得到了我们原来的加密前的内容了
Result = (new UnicodeEncoding()).GetString(DypherTextBArray);


byte[] messagebytes = Encoding.UTF8.GetBytes("luo罗");
            RSACryptoServiceProvider oRSA = new RSACryptoServiceProvider();
            string privatekey = oRSA.ToXmlString(true);
            string publickey = oRSA.ToXmlString(false);

            //私钥签名 
            RSACryptoServiceProvider oRSA3 = new RSACryptoServiceProvider();
            oRSA3.FromXmlString(privatekey);
            byte[] AOutput = oRSA3.SignData(messagebytes, "SHA1");
            //公钥验证 
            RSACryptoServiceProvider oRSA4 = new RSACryptoServiceProvider();
            oRSA4.FromXmlString(publickey);
            bool bVerify = oRSA4.VerifyData(messagebytes, "SHA1", AOutput);


相关文章

  • C#数据结构之堆栈(Stack)实例详解

    C#数据结构之堆栈(Stack)实例详解

    这篇文章主要介绍了C#数据结构之堆栈(Stack),结合实例形式较为详细的分析了堆栈的原理与C#实现堆栈功能的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • C#聊天程序服务端与客户端完整实例代码

    C#聊天程序服务端与客户端完整实例代码

    这篇文章主要介绍了C#聊天程序服务端与客户端完整实例代码,很经典的应用,需要的朋友可以参考下
    2014-07-07
  • C# 6.0 新特性汇总

    C# 6.0 新特性汇总

    这篇文章主要介绍了C# 6.0 新特性汇总的相关资料,本文给大家带来了11种新特征,非常不错,感兴趣的朋友一起看看吧
    2016-09-09
  • C#两个相同属性的类赋值方法

    C#两个相同属性的类赋值方法

    这篇文章主要介绍了C#两个相同属性的类赋值方法的相关资料,需要的朋友可以参考下
    2016-08-08
  • C#中DataGridView的样式

    C#中DataGridView的样式

    这篇文章主要介绍了C#中DataGridView的样式设置方法,包括交替行颜色、单元格内容有效性检查、单元格的选择模式等,需要的朋友可以参考下
    2015-02-02
  • C# linq查询之动态OrderBy用法实例

    C# linq查询之动态OrderBy用法实例

    这篇文章主要介绍了C# linq查询之动态OrderBy用法,实例分析了C#采用linq方式查询时动态排序的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 基于C# 写一个 Redis 数据同步小工具

    基于C# 写一个 Redis 数据同步小工具

    Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这篇文章主要介绍了用 C# 写一个 Redis 数据同步小工具,需要的朋友可以参考下
    2020-02-02
  • C#多线程系列之多阶段并行线程

    C#多线程系列之多阶段并行线程

    本文详细讲解了C#多线程的多阶段并行线程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 重写、隐藏基类(new, override)的方法

    重写、隐藏基类(new, override)的方法

    重写、隐藏基类(new, override)的方法,需要的朋友可以参考一下
    2013-03-03
  • Unity实现局域网聊天室功能

    Unity实现局域网聊天室功能

    这篇文章主要为大家详细介绍了Unity实现局域网聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10

最新评论