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公共密钥体系,学习一下基础概念...