2010-05-05 53 views
5

Tôi cần lưu trữ mật khẩu trong cơ sở dữ liệu SQL Server 2000. Thông tin không quan trọng nhưng tôi thực sự không muốn lưu trữ mật khẩu bằng văn bản rõ ràng. Làm thế nào tôi có thể nhận được một băm duy nhất (sha, sha1, md5, vv) trong SQL server 2000 như HashBytes không có sẵn.SQL Server 2000, có 2000 mật khẩu băm

Tôi không tìm kiếm DLL đã biên dịch hoặc ilk, tôi không có quyền truy cập vào máy chủ, cần phải là MS SQL thuần túy.

Trả lời

4

Có các chức năng không có giấy tờ (cho đến phiên bản sau) trong MS SQL Server 2000 được gọi là pwdencrypt()pwdcompare().

Xem blog này: Undocumented SQL Server 2000 Functions

Hoặc trên sổ sách MSDN trực tuyến:

Tuy nhiên, chức năng này đã được biết đến là không an toàn ít nhất là từ năm 2002 Để biết một số chi tiết, hãy xem "Cracking MS SQL Server passwords" tại TheRegister. Tôi đoán đó là lý do tại sao nó được thay thế bởi Hashbytes.

Nếu bạn không thể nâng cấp phiên bản SQL Server hoặc sử dụng bất kỳ tiện ích bổ sung nào, đây có thể là điều tốt nhất bạn có thể làm. Trừ khi bạn băm mật khẩu trong mã ứng dụng và lưu trữ chuỗi tiêu hóa kết quả, hãy để SQL Server ra khỏi vòng lặp.

Các vấn đề liên quan