【问题标题】:Creating RSACryptoServiceProvider using own values使用自己的值创建 RSACryptoServiceProvider
【发布时间】:2016-08-30 10:05:53
【问题描述】:

我需要创建一个 RSACryptoServiceProvider 及其参数来加密/解密数据。

但我明天需要使用相同的密钥再次加密/解密数据。
将它们导出并存储在文件中会很棒但是......没有机会写文件(他们不希望我这样做)。所以我想我会通过我自己从系统中检索到的密钥和参数来创建我自己的 RSACryptoServiceProvider。我有诸如处理器ID、Mac 之类的数据。

所以这是我的问题。

我可以使用一些自定义字符串来创建 RSACryptoServiceProvider 并在明天重复获得相同的密钥吗?

AFAIK,RSACryptoServiceProvider 参数具有 p、d、n 等值。但我也听说它们需要是特定的素数。
我将不胜感激。

感谢

【问题讨论】:

    标签: parameters key customization rsacryptoserviceprovider


    【解决方案1】:

    不确定您是否在 c# 中执行此操作,但如果您有 pfx 文件,则可以执行此操作:

     var certBytes = System.IO.File.ReadAllBytes(@"path\to\certificate.pfx");
     var privateAndPublicKeyCert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certBytes, "password");
     // pfx files that have a private key should be protected by a password
     var privateKeyCSP = (System.Security.Cryptography.RSACryptoServiceProvider)privateAndPublicKeyCert.PrivateKey;
    

    显然,您必须注意安全方面。像 不要像那样对密码进行硬编码

    您将使用存储在文件中的值初始化两个 ChryptoServiceProvider...

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 2013-12-23
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 2021-07-28
      • 1970-01-01
      相关资源
      最近更新 更多