Comment puis-je remplir RSAParameters valeur en c#

J'ai été en utilisant le code ci-dessous pour le chiffrement dans mon projet et tout fonctionnait bien.

RSACryptoServiceProvider x_alg = new RSACryptoServiceProvider(  );

//export only the public key 
RSAParameters x_public_params = x_alg.ExportParameters(false);

//export the private key 
RSAParameters x_private_params = x_alg.ExportParameters(true);

Maintenant client changé l'exigence et qu'il veut stocker toutes les RSAParameters valeur dans le fichier de configuration et fournis ci-dessous les détails pour la démo

<project name="netCard Server1">
  <key length="256"></key>
  <D length="64">00000000000000000000000000000000000000000000000000000000000019C5</D>
  <DP length="32">00000000000000000000000000000061</DP>
  <DQ length="32">00000000000000000000000000000065</DQ>
  <Exponent length="6">000DCD</Exponent>
  <InverseQ length="32">0000000000000000000000000000003B</InverseQ>
  <Modulus length="64">0000000000000000000000000000000000000000000000000000000000002C95</Modulus>
  <P length="32">00000000000000000000000000000065</P>
  <Q length="32">00000000000000000000000000000071</Q>
  <text length ="64">0123456789ABCDEF111111111111111125FE2222222222222233333333334444</text>
  <cipher length ="64">0000000000000000000000000000000000000000000000000000000000000000</cipher>
</project>

Maintenant,le problème est que lorsque je suis de l'importation de la RSAParameters valeur,je reçois de Mauvaises Données d'Exception

Il suffit de créer votre propre paire de clés RSA directement avec le RSACryptoServiceProvider puis exporter les paramètres avec et sans la clé privée. Maintenant comparer ce résultat avec celui ci-dessus pour voir les différences.

OriginalL'auteur santosh singh | 2012-11-26