首页 文章

将密码存储在数据库中[重复]

提问于
浏览
1

可能重复:在数据库中存储密码的首选方法

我的问题类似于这里讨论的问题:Best way to store password in database

我需要在数据库中存储外部FTP登录的密码,该密码将由应用程序使用 . 链接主题的解决方案不适用,因为它会对密码进行哈希处理 .

我正在使用C#并连接到SQL Server 2008.有人有一个示例解决方案吗?我想我只需加密密码,以ecrypted形式存储,如果应用程序想要使用密码 - >解密 .

2 回答

  • 1

    存储密码的最佳方法是使用强哈希函数,但是,在这种情况下,您有时需要将未加密的字符串传递给第三方库或服务 .

    在这种情况下,我会使用最强的密码(所以你可以反转它)算法 .
    它总是使用一个着名的,值得信赖且经过良好测试的第三方库来满足您的加密需求,它是加密领域的专家 .

    自2005版本以来,SQL Server已经内置了散列函数(直接在T-SQL中),所以也可能有内置的密码函数,详情请参见T-SQL cryptographic functions .

    对于FTP使用,值得一看的是FTP站点是否支持安全FTP(FTPS)或FTP上的FTP,请注意这些与SFTP不同,后者与FTP无关,只是它执行相同的工作 .
    FTP on Wikipedia .

  • 2

    可能最好的版本是如果你加密传递并将其存储到数据库,然后当应用程序需要检查密码是否正确时你不解密存储的密码,但你必须加密插入的密码并检查它们是否相同 .

    有很多很好的加密算法,例如:Simple insecure two-way "obfuscation" for C#

    但是你总是可以写自己的,这很有趣......

相关问题