日期:2014-05-18  浏览次数:20410 次

ASP.NET(C#) RSA 的实现疑惑
大量的资料采用如下的方式产生私钥和公钥
  代码:
  System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
  //得到私钥主要保存了RSAParameters中的8各参数
  privateKey = myrsa.ToXmlString(true); 
  //得到公钥保存了RSAParameters中2个参数
  publicKey = myrsa.ToXmlString(false); 
但是这种方式产生的公钥和私钥是不是随机的呢,即不可控型,
可是为什么网上98%以上的资料都采用此法呢?

Ps:网上几乎找不到关于 ASP.NET(C#)的WEB编程下的RSA相关源码,为什么??
恳请高人赐教!


------解决方案--------------------
DESCryptoServiceProvider 是用于对称加密 RSACryptoServiceProvider是用于非对称加密 
对称加密的意思:有一个密钥 相当于加密算法,加密用它来加密,解密也需要用到它。因为加密解密都是用同一个密钥所以叫对称加密。 对称加密有一个坏处只要拥有密钥的人都可以解密。 
RSACryptoServiceProvider oRSA = new RSACryptoServiceProvider(); 
string privatekey=oRSA.ToXmlString(true);//私钥 
string publickey=oRSA.ToXmlString(false);//公钥 
在公钥加密标准和电子商业中RSA被广泛使用。
------解决方案--------------------
我也想学加密方面的,也是比较迷糊。
------解决方案--------------------
你还不明白RSA是什么原理...RSA密钥是PKI系统生成的,是有专门的证书服务器生成密钥的,并且有多级信任授权构成...

去搜索一下PKI公共密钥体系,学习一下基础概念...