【发布时间】:2011-10-01 23:07:15
【问题描述】:
我生成了一个新的公钥/私钥对并将其导出为 XML 字符串:
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(2048);
string publicPrivateKey = RSA.ToXmlString(true);
publicPrivateKey 中的 XML 字符串如下所示(为了便于阅读,字符串被缩短):
<RSAKeyValue>
<Modulus>t6tLd1Wi7PEkwPfx9KGP1Ps/5F2saXnOsCE2U....</Modulus>
<Exponent>AQAB</Exponent>
<P>3LJ5y4Vla7cS3XgmbIH5dQgppUHa+aSWavEOCbDRS/M....</P>
<Q>1QyGIAnjv4YLcRVdwXtxWkijc+aZ496qIBZnCAUUD/E....</Q>
<DP>0821dc0f+LBKOqIEvj4+2kJrNV5ueQesFBYkEsjPFM....</DP>
<DQ>ugSzX2oDJwjdGKG1OOiVcmUWAm6IU4PpOxcUYtY8TC....</DQ>
<InverseQ>LDQIQu+LSB6CSZBrGxNQthWi9mkuPGVZyDDr....</InverseQ>
<D>qZm2bXKH8WwbsJ8ZlT3S1TbgUifppLrqSRkb8XqEcMv....</D>
</RSAKeyValue>
生成的公钥应该在其他应用程序(PHP / JavaScript / JAVA)中用于加密数据。上述 XML 的哪一部分定义了公钥/我必须将哪一部分发送给其他应用程序的开发人员?
另一方面:什么定义了私钥/我必须存储哪些部分才能解密由我的公钥加密的数据?
【问题讨论】:
标签: c# .net cryptography rsa public-key-encryption