C# 加密-密钥容器

要安全地存储密钥,应将密钥存放在密钥容器中,而不是明文存放在文件中。

如果您不了解密钥容器,可以参照 MSDN 上的 了解计算机级别和用户级别的 RSA 密钥容器

CspParameters 的名称空间是:

System.Security.Cryptography

创建和读取密钥容器

CspParameters cp = new CspParameters();
cp.KeyContainerName = ContainerName;
 
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);

创建和读取密钥容器都使用上述代码:如果密钥容器不存在,则会自动创建,并将 rsa 产生的密钥存入其中;如果已经存在,则会读取其中的密钥给 rsa。

删除密钥容器

CspParameters cp = new CspParameters();
cp.KeyContainerName = ContainerName;
 
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);
 
rsa.PersistKeyInCsp = false;
rsa.Clear();

与创建和读取相比,多了两句。

安全性:程序 A 创建和密钥容器,程序 B 可以去读吗?

可以。如果要限制程序 B 去读,请参见上面提到的了解计算机级别和用户级别的 RSA 密钥容器

posted on 2009-11-30 11:23  冬日阳光  阅读(1150)  评论(0编辑  收藏  举报

导航