【发布时间】:2012-02-24 08:26:36
【问题描述】:
我需要从 Oracle 服务器获取一些敏感数据到 SQL Server 以用于我的 ASP.NET 网站。让我们说一下它的密码。我们的安全人员说,这些密码需要在每一步都得到保护。我的网站需要能够将用户输入与这些密码进行比较。这些密码必须在晚上从 Oracle 服务器传输到 SQL Server,并且只能在白天在 SQL Server 上使用。
我能想到的最佳解决方案是我们需要在 Oracle 上对密码进行哈希处理并将哈希值传递给 SQL Server(假设两者之间的连接是安全的,因为这不是我的工作 :P)。然后我的 ASP.NET Web 应用程序需要能够对用户输入实现完全相同的散列,以便我们可以将输入散列与数据库散列进行比较。
所以我的问题是:如何在 Oracle 和 .NET 上使用相同的算法/密钥/盐来散列一些东西?我知道如何使用 .NET 散列函数,但我不确定我可以在 Oracle 中使用什么具有可比性……我可以将它们以纯文本形式从 ASP.NET 传递到 SQL Server 并在那里散列它们这更容易,但我们称之为“B 计划”。
【问题讨论】:
-
为什么数据库需要关心哈希算法?数据库甚至不应该收到被散列的原始数据。您的应用程序应该会处理好这一点。
-
@vcsjones - 好问题。密码从不同的来源进入 Oracle。我的应用程序永远不会看到源代码,因此它不可能首先对它们进行哈希处理。
-
如果 md5 适合您,请参阅我的回答 [此处][1]。 [1]:stackoverflow.com/questions/8810471/…
标签: asp.net sql-server oracle security hash