2010-04-15 6 views
2

사용자의 입력에 사용자 이름과 암호가있는 로그인 양식이 있으며이 로그인 자격 증명을 텍스트 파일에서 유효성을 검사하고 싶습니다. 내가 어떻게 해? 데이터를 쓰고 데이터를 읽는 방법을 알고 있지만 특정 데이터 만 읽는 방법을 알고 있습니다. 또는 사용자 이름 암호 조합이 존재하는지 여부를 확인하십시오.텍스트 파일 양식에서 사용자 이름과 암호의 유효성을 검사하는 방법

답변

1

일반 텍스트 파일을 사용해야하는 이유가 있습니까? Joshua는 보안 정보를 저장하는 방법이 좋지 않다고 말합니다.

.NET에서 표준 접근법은 응용 프로그램 구성 파일을 사용하여 사용자 이름/암호 (예 : app.config 또는 web.config)를 저장하고 DPAPI (데이터 보호 API) 또는 System.Security를 ​​사용하여 암호를 암호화하는 것입니다 .Cryptography.ProtectedData 클래스

Jon Galloway는이를 수행하는 방법에 대해 decent tutorial을 제공합니다.

+0

유일한 이유는 여기에 있습니다 ... 은 거기 당신과 조슈아 언급 DPI를 배울 수있는 소스. – Ani

+0

알아낼 msdn 라이브러리를 보려고합니다. app.config – Ani

+0

@Ani를 사용하는 방법은 연결된 페이지를 참조하십시오. – Ash

1

암호를 텍스트 파일에 저장하는 나쁜 습관을 건너 뛰면 (특히 암호화되지 않은 경우) 파일 형식이 필요합니다.

아주 기본적인 파일 읽기 ini 파일과 같이 수 :

[users] 
username1=password1 
username2=password2 

귀하의 알고리즘은 [users] 헤더를 찾을 것입니다, 다음 등호에 라인을 분할, 각 라인을 읽고 정보를 비교 성냥, 파일의 끝 또는 다른 섹션을 찾을 때까지 계속 읽으십시오.

이전에 사용자 인증을 해본 적이 있다면 잘 모르겠지만 암호가 손상되면 심각한 보안 문제로 인해 암호를 일반 텍스트로 저장하는 것이 좋지 않은 것으로 간주됩니다. 일반적으로 SHA-1 또는 SHA-256과 같은 단방향 해시를 사용하여 사용자 암호 (알려진 소금 포함)를 해시하고 해당 암호를 응용 프로그램에 보내고 대신 저장합니다. 그렇게하면 어떤 방식 으로든 해킹 당하더라도 실제 비밀번호를 알 수 없습니다.

+0

사실 저는 웹 브라우저를 만들고 있습니다 ... 그리고 모든 사용자는 브라우저를 사용하기 전에 로그인해야합니다 .. 나는 프로그래밍에 익숙합니다. 그래서 if 조건이나 뭔가를 사용하여 사용자 이름 암호 조합을 확인해야합니다. 해당 헤더 아래 .. 귀하의 도움에 감사드립니다 – Ani

관련 문제