Database 在数据库中存储密码

Database 在数据库中存储密码,database,security,passwords,Database,Security,Passwords,可能重复: 我的问题与这里讨论的类似: 我需要将外部FTP登录的密码存储在应用程序将使用的数据库中。链接主题的解决方案不适用,因为它正在散列密码 我正在使用C#并连接到SQL Server 2008。是否有人有一个示例解决方案?我想我只需要加密密码,以加密形式存储,如果应用程序想使用密码->解密。最好的版本可能是加密密码并将其存储到数据库,然后当应用程序需要检查密码是否正确时,不解密存储的密码,但是你必须加密插入的文件,并检查它们是否相同 例如,有许多很好的加密算法: 不过,你可以自己编写,这

可能重复:

我的问题与这里讨论的类似:

我需要将外部FTP登录的密码存储在应用程序将使用的数据库中。链接主题的解决方案不适用,因为它正在散列密码


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

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

例如,有许多很好的加密算法:


不过,你可以自己编写,这很有趣……

存储密码的最佳方式是使用强哈希函数,但是,在这里,你有时需要将未加密的字符串传递给第三方库或服务

在这种情况下,我将使用您可以使用的最强密码(因此您可以将其反转)算法。
始终使用知名的、受信任的、经过良好测试的第三方库来满足您的加密需求,除非您是加密领域的专家,否则很容易出错

自2005年版以来,SQL Server已经有了内置的哈希函数(T-SQL中的direct),因此也可能有内置的密码函数,有关详细信息和示例,请参阅

对于FTP的使用,值得一看FTP站点是否支持安全FTP(FTPS)或SSH上的FTP,请注意,这两个站点与SFTP不同,SFTP与FTP无关,只是它执行相同的任务。

请参阅。

我的应用程序需要密码才能登录到外部FTP。凭证将在之前提供,因此必须存储在数据库中。所以加密一次,每次我需要密码的时候解密是正确的方法吗?如果你这么说的话。然后你真的应该解密它,并可能存储它,这样你就不需要每次都这么做。