Nag*_*tri 2 c# rsa public-key private-key
我在网上搜索了很多,但在RSA公钥和私钥加密方面存在疑虑.
当我检查MSDN网站时,我尝试了这个
RSACryptoServiceProvider rsaEncryptDecrypt = new RSACryptoServiceProvider();
byte[] privateKeyByte = rsaEncryptDecrypt.ExportParameters(true).Modulus;
byte[] publicKeyByte = rsaEncryptDecrypt.ExportParameters(false).Modulus;
string privateKey = Convert.ToBase64String(privateKeyByte);
string publicKey = Convert.ToBase64String(publicKeyByte);
Run Code Online (Sandbox Code Playgroud)
字符串公钥和私钥是相同的!这是对的吗?我的意思是字符串怎么可以相同?不是假设是两个不同的键?
如果我错了,请纠正我.我很迷惑 !
先感谢您!
UPDATE
我误认了参数,
但那时:我看到了
/sf/ask/461509331/#answer-6593054"
我怎样才能获得字符串值?因为我必须将它存储在App.config中并随时访问它.我的意思是我需要在App.config中存储公钥和私钥
UPDATE2
对不起,我刚刚使用了RSACryptoServiceProvider实例的ToXmlString属性.获得了私钥和公钥.
两者Modulus都是一样的.
公钥由加密指数e和模数组成n.
传统上,解密密钥由解密指数d和相同的模数组成n.为了获得更好的性能,它通常包括一些数字,如素因子p和q的n.
更好地可视化公钥包含的内容 ToXmlString(false/true)
公钥ToXmlString(false):
<RSAKeyValue>
<Modulus>4ZpwnuksQkLuqLczu5eJcS6aIFaPsTwGpS57/P9rviJWI7sweYZnE/eBVtPVKoanhgHxmcHyk4GbyvCnXKSzDw==</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
Run Code Online (Sandbox Code Playgroud)
公钥+私钥ToXmlString(true):
<RSAKeyValue>
<Modulus>4ZpwnuksQkLuqLczu5eJcS6aIFaPsTwGpS57/P9rviJWI7sweYZnE/eBVtPVKoanhgHxmcHyk4GbyvCnXKSzDw==</Modulus>
<Exponent>AQAB</Exponent>
<P>8lLDYv+MEBUdp0eUY3an4mlU7ovmyV6f60RJoXOB9Hs=</P>
<Q>7lYYef5/PvPOyrN0HGZPt/RWknfVd4c3Kc6WVEZICX0=</Q>
<DP>UI3GufAthWMfmm4nG/Fj2dYeD7aeH66/BpyKxYr6VmU=</DP>
<DQ>sBZkFx30nWo8in5zdtgQZfTcUXLAAIOiOf0sDC+w4XE=</DQ>
<InverseQ>GBkNq0KZ4ERaEO/oVQoQDONw6ZHixNimR5IJ7cbzKXw=</InverseQ>
<D>ErLyUrmQ6Y0SqvlEWHAe/DqYm8WQ82e+RUKtFDM3gvK9ygloqftx6rhn9XvM/ji1JnrDqiuepn5T3D3F+3GVQQ==</D>
</RSAKeyValue>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3928 次 |
| 最近记录: |