SQL Server 2000,是 2000 密码哈希

发布于 2024-08-31 20:47:32 字数 176 浏览 2 评论 0 原文

我需要在 SQL Server 2000 数据库中存储密码。这些信息并不重要,但我真的不想以明文形式存储密码。由于 HashBytes 不可用,如何在 SQL Server 2000 中获得唯一的哈希值(sha、sha1、md5 等)。

我不是在寻找编译的 DLL 或类似的东西,我无权访问服务器,需要是纯 MS SQL。

I need to store a password has in a SQL server 2000 database. The information isn't critical but I really don't want to store the password in clear text. How can I get a unique hash (sha, sha1, md5, etc) in SQL server 2000 as HashBytes isn't available.

I'm not looking for compiled DLL or the ilk, I dont have access to the server, needs to be pure MS SQL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

予囚 2024-09-07 20:47:32

MS SQL Server 2000 中有一些未记录的(直到更高版本)函数,称为 pwdencrypt()pwdcompare()

请参阅此博客:未记录的 SQL Server 2000 Functions

或者在 MSDN 在线书籍上:

然而,至少从 2002 年起,这个函数就被认为是不安全的。有关一些详细信息,请参见“破解 MS SQL Server 密码”。我想这就是它被哈希字节取代的原因。

如果您无法升级 SQL Server 实例或使用任何附加组件,这可能是您能做的最好的事情。除非您在应用程序代码中散列密码并存储生成的摘要字符串,从而将 SQL Server 排除在循环之外。

There are undocumented (until later versions) functions in MS SQL Server 2000 called pwdencrypt() and pwdcompare().

See this blog: Undocumented SQL Server 2000 Functions

Or on MSDN books online:

However, this function has been known to be insecure since at least 2002. For some details see "Cracking MS SQL Server passwords" at TheRegister. I guess that's why it got replaced by Hashbytes.

If you can't upgrade your SQL Server instance or use any add-ons, this might be the best you can do. Unless you hash the password in application code and store the resulting digest string, leaving the SQL Server out of the loop.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文