C# 基于大整数类的RSA算法实现(公钥加密解密,私钥加密解密)
2009-04-27 08:27:42 来源:WEB开发网最近因为项目需要通过RSA加密来保证客户端与服务端的通信安全。但是C#自带的RSA算法类RSACryptoServiceProvider只支持公钥加密私钥解密,即数字证书的使用。
所以参考了一些网上的资料写了一个RSA的算法实现。算法实现是基于网上提供的一个大整数类。
一、密钥管理
取得密钥主要是通过2种方式
一种是通过RSACryptoServiceProvider取得:
/// <summary>
/// RSA算法对象,此处主要用于获取密钥对
/// </summary>
private RSACryptoServiceProvider RSA;
/// <summary>
/// 取得密钥
/// </summary>
/// <param name="includPrivateKey">true:包含私钥 false:不包含私钥</param>
/// <returns></returns>
public string ToXmlString(bool includPrivateKey)
{
if (includPrivateKey)
{
return RSA.ToXmlString(true);
}
else
{
return RSA.ToXmlString(false);
}
}
/// <summary>
/// 通过密钥初始化RSA对象
/// </summary>
/// <param name="xmlString">XML格式的密钥信息</param>
public void FromXmlString(string xmlString)
{
RSA.FromXmlString(xmlString);
}
一种是通过BigInteger中的获取大素数的方法
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接