代码之家  ›  专栏  ›  技术社区  ›  eulerfx

存储asp.net密钥和密码的安全方法

  •  2
  • eulerfx  · 技术社区  · 17 年前

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

    3 回复  |  直到 17 年前
        1
  •  4
  •   defeated    17 年前

    您可以将加密值存储在.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 .
    

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

        2
  •  3
  •   user19087    17 年前

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

        3
  •  2
  •   Jared xxtesaxx    17 年前

    取决于值更改的频率。如果它们永远不会改变,那么我会将它们保存在您的源代码中。

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

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