2014-04-19 3 views
1

VB 프로젝트에서 작업 중입니다. 내 프로젝트의 일부에서는 암호로 보호해야합니다. TextBox의 텍스트를 문자열과 비교하고 싶습니다. 나는 끈의 경우도 비교할 필요가있다.IF 문을 대소 문자를 구분합니다.

if TextBox1.Text = "Password" then 
    MsgBox ("Succes") 
Else 
    MsgBox ("Wrong Password") 
End if 

하지만 대소 문자를 구분하고 싶습니다. 그건, 그냥 "암호"를 입력하면 통과해야합니다.

감사합니다.

+2

정답은 이미 주어졌지만 일반 텍스트로 암호를 저장하지 말고 암호 대신 해시 된 암호 해시를 저장해야합니다. 여기를 참조하십시오 https://crackstation.net/hashing-security.htm – Cu3PO42

+2

이것은 대소 문자를 구분합니다. 대신 대소 문자를 구분하지 않는 비교를 찾고 있습니까? –

답변

5

Option Compare Text을 소스 코드에 사용하거나 프로젝트/속성/옵션 비교을 사용하여 기본 설정을 재정의하지 않은 경우 코드에서 이미 대소 문자를 구분하여 비교해야합니다.

명시 적으로는 대소 문자를 구별 할 ignoreCase의 값으로 false으로 String.Compare를 사용하려면

If String.Compare(TextBox1.Text, "Password", false) = 0 then 
    MsgBox ("Success") 
... 

String.Compare에 대한 설명서를 참조하십시오.

+0

하지만 대소 문자를 구분하지 않습니다. –

+0

@Asad : 감사의 말 - 설명이 추가되었습니다. – RichieHindle

0

이것은 대소 문자를 구분합니다. 비교가 ASCII 값을 기반으로하기 때문에 문자열을 비교할 때이 경우 "Password"는 "password"와 같지 않습니다. "P"는 "p"보다 낮은 ASCII 코드 값을가집니다.

2

기본적으로 코드는 이미 대소 문자를 구분해야합니다. 그러나 comparisionType 오버로드가있는 String.Equals을 사용하여 명시 적으로 수행 할 비교 유형을 지정할 수 있습니다. 예를 들면 다음과 같습니다.

if TextBox1.Text.Equals("Password", StringComparison.Ordinal) then 
    MsgBox ("Succes") 
Else 
    MsgBox ("Wrong Password") 
End if 
관련 문제