2010-05-05 3 views
5

암호를 SQL Server 2000 데이터베이스에 저장해야합니다. 정보는 중요하지 않지만 암호를 일반 텍스트로 저장하고 싶지 않습니다. HashBytes를 사용할 수 없으므로 SQL Server 2000에서 고유 해시 (sha, sha1, md5 등)를 얻으려면 어떻게해야합니까?SQL Server 2000, 예 2000 암호 해시

컴파일 된 DLL 또는 ilk를 찾고 있지 않습니다. 서버에 액세스 할 수 없으며 순수한 MS SQL이어야합니다.

답변

4

MS SQL Server 2000의 문서화되지 않은 기능 (이후 버전까지)은 pwdencrypt()pwdcompare()입니다. Undocumented SQL Server 2000 Functions

또는 온라인 MSDN의 책 : PWDCOMPARE()

그러나,이 기능이 알려져있다

  • PWDENCRYPT()
  • 적어도 2002 년부터 안전하지

    이 블로그를 참조하십시오 자세한 내용은 The Register에서 "Cracking MS SQL Server passwords"을 참조하십시오. 나는 그것이 Hashbytes로 대체 된 이유라고 생각합니다.

    SQL Server 인스턴스를 업그레이드하거나 추가 기능을 사용할 수없는 경우이 방법이 최선의 방법 일 수 있습니다. 응용 프로그램 코드에서 암호를 해시하고 결과 다이제스트 문자열을 저장하지 않고 SQL Server를 루프 밖으로 벗어나지 않는 한.