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

如果您不了解密钥容器,可以参照 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 密钥容器 。

转载于:https://www.cnblogs.com/deepwishly/archive/2009/12/25/2551326.html

C# 加密-密钥容器相关推荐

  1. 解决打不开 RSA 密钥容器 即:加密web.config中的内容

    简单的解决方法: WebConfig 加解密,未能使用提供程序"RsaProtectedConfigurationProvider"进行解密.提供程序返回错误消息为: 打不开 RS ...

  2. 配置错误:未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。...

    http://www.cnblogs.com/jiaruistone/articles/1441634.html 在asp.net2.0中新增了对web.config中的部分数据进行加密的功能,可以使 ...

  3. [引]生成加密和解密的密钥

    1.对称密钥 2.不对称密钥 3.将非对称密钥存储在密钥容器中 4.将非对称密钥存储在密钥容器中示例 =============================== 创建和管理密钥是加密过程的一个重要 ...

  4. 文件加密和解密 - 密钥存储

    当我们想要做一次加密系统,或者只是有一个关于这个问题,它是如何保存的加密和解密密钥. 一般认为想要的文件加密和解密,对称算法用于.一般是AES要么DES. 这就存在密钥管理的问题,它是如何? 基本上两 ...

  5. web.config加密解密批处理

    打开.Net Framework附带的SDK命令提示符. 加密命令: aspnet_regiis -pe "connectionStrings" -app "/encry ...

  6. Microsoft CryptoAPI加密技术(一)

    http://www.vckbase.com/index.php/wv/716.html 在这个信息爆炸的时代,我们不得不对信息的安全提高警惕.加密作为保障数据信息安全的一种方式,越来越受到人们的关注 ...

  7. Microsoft CryptoAPI加密技术(二)

    原文:http://www.vckbase.com/index.php/wv/717.html 上次我们讲了Microsoft CryptoAPI的构成以及会话密钥的使用.接下来我们将看一下公私密钥对 ...

  8. 关于文件透明加密解密

    1.windows文件系统概述 硬盘文档加密系统驱动原理一般有两种:通过HOOK一些底层的系统内核调用对文件目录的访问权限进行控制,在文件系统输入输出驱动上层直接建立一个驱动对文件目录的数据进行加密. ...

  9. (转)创建X509证书,并获取证书密钥的一点研究

    创建X509证书,并获取证书密钥的一点研究 作者:肖波 个人博客:http://blog.csdn.net/eaglet ; http://www.cnblogs.com/eaglet 2007/7 ...

最新文章

  1. 实用的人工智能 但数据 Python 速查表
  2. 2021-01-07 matlab数值分析 线性方程组的迭代解法 高斯-赛德尔迭代法
  3. 为什么机器人发展了几十年感觉还是没太大进展
  4. 机器学习-分类之决策树原理及实战
  5. cesium three性能比较_mapboxgl + three 动画 — 网格热图
  6. WinCE切换GPRS
  7. linux交叉编译时报错:file not recognized: File format not recognized
  8. java drawingpanel_Java DrawingPanel.getHeight方法代码示例
  9. 基于hadoop架构的企业数字化转型,阿里数据中台实战案例
  10. svm matlab 画图,matlab 画图
  11. 机器学习基础算法11-Logistic回归-ROC和AUC分类模型评估-实例
  12. 字节、快手、阿里、腾讯这两年的广告推荐技术进展
  13. 给老外索要仿真代码信件
  14. vbs if 不等于_(四)if 判断与逻辑运算符
  15. Java-实现图书管理系统
  16. ROS学习笔记(二)launch文件初步使用
  17. 中山西路620号 的人才服务中心搬到 梅园路77号去了
  18. 工业镜头倍率及视场范围、焦距的计算方法
  19. 娶妻要娶贤妻,不是美女
  20. 【Qt】Qt 官方下载网址

热门文章

  1. Vue 项目对接接口数据
  2. java 循环new对象_java中new一个对象放在循环体里面与外面的区别
  3. 阿里云服务器上面关闭tomcat报错
  4. 对16S数据使用PICRUSt预测输出KEGG和COG表
  5. linux firefox 背景色,火狐Firefox 72浏览器滚动条将自适应网页背景色
  6. 计算机组成原理---32位的CPU64位CPU与32位os64os的区别与联系
  7. centos离线安装docker
  8. 两大图灵奖得主力作:计算机架构的新黄金时代
  9. 关于HTML的一些知识
  10. 如何给员工或者客户做产品培训?