存储密钥的安全方法,用于asp.net的密码

存储网站密钥和/或密码的最佳做法是什么? 这些密钥适用于各种第三方Web服务。 将它们放在Web.config文件或数据库中,还是以某种方式进行加密最好?


假设您的数据库无法从外部访问,或者您已将其正确锁定,这将是存储密钥的首选方式。 这使您的所有应用程序都能从相同的密钥/密码存储中获取,从而使更改变得非常快速和简单。


您可以将加密值存储在.config文件中,并且ASP.NET 2.0将立即解密它们。

你的配置看起来像这样:

<configSections>
   <section 
      name="sampleSection" 
      type="System.Configuration.SingleTagSectionHandler" 
   />
</configSections>

<MySecrets
   FavoriteMusic="Disco" 
   FavoriteLanguage="COBOL" 
   DreamJob="Dancing in the opening ceremonies of the Olympics" 
/>

然后从命令行运行以下命令,与配置文件位于同一目录中:

aspnet_regiis -pef MySecrets .

来自K. Scott Allen:

http://odetocode.com/Blogs/scott/archive/2006/01/08/2707.aspx


取决于值的变化频率。 如果他们永远不会改变,那么我会把它们放在你的源代码中。

我会远离存储Web.Config中发生更改的数据,因为更改它会强制重新启动应用程序池。

我的投票是将它们加密存储在数据库中,并为值的改变提供一种简单的方法(例如,将值存储在缓存中,并在用户更改时对其进行刷新)。

链接地址: http://www.djcxy.com/p/21527.html

上一篇: Secure methods of storing keys, passwords for asp.net

下一篇: Simple password encryption