2010-03-05 2 views
0

Microsoft Access 데이터베이스를 시작할 때 사용자가 자신을 인증하는 데 사용한 암호에 텍스트 상자 문자열을 비교하는 방법에 대해 궁금합니다.Microsoft Access 암호와 사용자 제공 암호를 비교하는 방법?

Microsoft Access 버전은 2003입니다. 사용자는 Microsoft Access Jet security을 사용하여 인증합니다.

업데이트 : CesarGon (감사합니다.) 이것은 실제로 해시 된 값을 비교하는 질문입니다. Microsoft Access의 해싱을 복제하고 해시를 비교하는 방법은 무엇입니까?

+0

왜 그런지 설명해야합니다. 당신은 해결하려는 실제 문제를 기술하는 대신 미리 정의 된 솔루션 (불가능하다고 판명 됨)에 대해 묻고 있습니다. –

+0

제안에 감사드립니다, David. :) – iokevins

+0

이 연습의 요점은 암호 변경 화면을 만드는 것입니다. 입력 한 비밀번호와 기존 비밀번호를 비교하고 싶습니다. 이렇게하면 암호가 실제로 변경됩니다. – iokevins

답변

1

, 당신은 ADO SQL 명령을 실행할 수 있습니다

ALTER USER user PASSWORD newpassword oldpassword 

그냥 동일하지 않은 텍스트가 모두 암호를 입력해야합니다.

http://msdn.microsoft.com/en-us/library/bb177884.aspx

+0

고마워요 제프 오! :) 나는 월요일에 일하러 돌아올 때이 해결책을 시도 할 것이다. – iokevins

1

나는 그렇게 생각하지 않습니다. 사용자가 Jet 보안 용으로 사용하는 암호는 해시되고 System.mdw 데이터베이스에 저장됩니다. 암호 자체는 이 아니며이 저장되어 있지만 암호로 계산 된 해시 만 있습니다. 해당 해시에서 암호를 복구하는 (실용적인) 방법은 없습니다.

을 편집하십시오. Jet에서 유효성 검사를 수행하도록 Jet API를 사용할 수 있습니다. 다음은 몇 가지 샘플 코드입니다.

'set security database. 
DBEngine.SystemDB = "C:\Temp\System.mdw" 

'create a workspace. 
Set wksp = DBEngine.CreateWorkspace("New", "John", "john's-password") 

작업 공간이 만들어지면 제공된 암호가 올바른 것입니다. 암호가 틀리면 작업 공간이 작성되지 않고 오류가 발생합니다. 사용자의 암호 변경 양식에서

+0

감사 CesarGon; Microsoft Access의 해싱을 복제하고 해시를 비교하는 방법은 무엇입니까? – iokevins

+1

@schultkl : 잘 모르겠습니다. Jet가 사용하는 해싱 알고리즘을 알지 못합니다. 미안해. 나는 도움이 될 수 없어. :-( – CesarGon

+1

@schultkl :하지만 프로그래밍 방식으로 Jet에 호출하여 유효성 검사를 수행 할 수 있으며이를 표시하도록 내 대답을 편집하고 있습니다. – CesarGon

관련 문제