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# 通过经纬度查询 具体的地址和区域名称

    c# 通过经纬度查询 具体的地址和区域名称

    最近项目需要通过经纬度查询 具体的地址和区域名称,通过查询网络资源,发现提供的大多是得到具体的地址而对区域或城市名称的获取就不是很好把握;在这里自己搞了个,需要的朋友可以参考下
    2012-11-11
  • c#删除数组中符合条件的元素(正确写法)

    c#删除数组中符合条件的元素(正确写法)

    这篇文章主要介绍了c#删除数组中符合条件的元素,分别给大家展示了错误写法和正确写法,补充介绍了从C#的数组中删除指定元素的几种方法,需要的朋友可以参考下
    2023-10-10
  • C#图像颜色聚类高效方法实例

    C#图像颜色聚类高效方法实例

    这篇文章主要介绍了C#图像颜色聚类高效方法,实例分析了C#实现图像颜色聚类的方法,需要的朋友可以参考下
    2015-04-04
  • C#简易人机对抗“石头剪刀布”游戏的实现

    C#简易人机对抗“石头剪刀布”游戏的实现

    本文主要介绍了C#简易人机对抗“石头剪刀布”游戏的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • c#制作屏幕保护程序步骤(字幕屏保)

    c#制作屏幕保护程序步骤(字幕屏保)

    本文介绍使用C#制作屏幕保护的方法,这个屏幕保护就是仿效视窗系统自带的字幕屏保。下面是用C#如何编写屏幕保护的整个过程
    2014-01-01
  • C#留言时间格式化

    C#留言时间格式化

    本文给大家分享的是仿微博或者空间中,发布内容之后提示NN秒之前留言的代码,主要是通过发布时间和当前时间直接的差值来计算,十分的简单实用,有需要的小伙伴可以参考下。
    2015-05-05
  • C# WinForm实现画笔签名功能

    C# WinForm实现画笔签名功能

    这篇文章主要为大家详细介绍了如何通过 C# WinForm 通过画布画笔实现手写签名,并在开发过程中解决遇到的一些格式转换的问题签名功能,希望对大家有所帮助
    2024-11-11
  • C# Lambda表达式及Lambda表达式树的创建过程

    C# Lambda表达式及Lambda表达式树的创建过程

    这篇文章主要介绍了C# Lambda表达式及Lambda表达式树的创建过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • C#中调整图像大小的步骤详解

    C#中调整图像大小的步骤详解

    这篇文章主要介绍了C#中调整图像大小的步骤详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • C#中Monitor对象与Lock关键字的区别分析

    C#中Monitor对象与Lock关键字的区别分析

    这篇文章主要介绍了C#中Monitor对象与Lock关键字的区别,需要的朋友可以参考下
    2013-06-06

最新评论