2017-05-18 121 views
0

我已经看到有关使用私钥/公钥加密/解密数据的文章。我想要做的只是加密已存储在文件中的生成的RSA私钥。我一直在广泛浏览以了解如何完成,但没有运气。我认为我的问题是一个不寻常的问题。请帮忙!如何加密生成的RSA私钥并在c#中解密

+3

找到你确定你想成为加密私钥?你用什么来加密它 - 另一个公钥/私钥?这感觉就像它可能是[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –

+0

@詹姆斯。我开发了一个轻量级控件应用程序。为了在客户端第一次部署应用程序,我将以加密格式发送专用RSA密钥,并使用加密密码通过电子邮件发送给客户端进行验证。当客户端为初始设置输入密码时,如果该密码匹配,则应用程序将加密文件解密并与服务器连接以控制灯光。最初,认为DPAPI满足我的要求,但加密和解密过程完全依赖于当前用户。所以我正在寻找加密算法来加密RSA密钥。请帮助。 – user7274707

回答

0

首先,您需要*密钥派生函数,将您的密码转换为可用于加密私钥的对称密钥。如果你只使用.NET框架,那么你应该使用Rfc2898DeriveBytes类。如果您能够使用BouncyCastle,那么SCrypt将是首选。

然后您可以使用AES算法优先加密您的密钥。

一些可用的代码示例可以this answer

+0

@ mat.Thanks mat! – user7274707