2014-09-01 7 views
0

내 응용 프로그램이 2 개의 특수 문자 만 허용되는 20 개의 문자로 암호를 생성하려는 asp.net 4.0에 있습니다. 이 암호를 생성하기 위해 코드 아래에 줄을 사용했습니다. 그러나 이것은 2 개 이상의 특수 문자로 암호를 만듭니다.Asp.net membership GeneratePassword 메서드가 2 개의 특수 문자로만 암호를 만들지 않습니다.

string randomPassword = Membership.GeneratePassword(20,2); 

답변

1

https://msdn.microsoft.com/en-us/library/system.web.security.membership.generatepassword%28v=vs.110%29.aspx

numberOfNonAlphanumericCharacters 유형 : 선택 System.Int32

에서 (예 : @, #, %, & 등 등!) 영숫자가 아닌 문자의 최소 수 생성 된 암호.

영숫자가 아닌 문자가 정확히 2 개인 경우 고유 한 방법을 만들어야한다고 생각합니다.

public string CreatePassword(int numberChar, int numberSpecialChar){ 
string password = ""; 
string specialChars = "&@~#'[|\\^/!?;"; //choose you own 
int counterNonAlphanumeric = 0; 
for (int i=0; i <numberChar-numberSpecialChar; i++){ 
    password += generateRandomChar(); 
    if (specialChars.Contains(password.Substring(password.Length-1, 1))){ 
     counterNonAlphanumeric +=1; 
    } 
} 
if (counterNonAlphanumeric != numberSpecialChar){ 
    password += generateRandomSpecialChar(); 
    password += generateRandomSpecialChar(); 
} 
} 

나는 그 아이디어를 보여주기 위해 즉흥적으로했습니다.

는 희망이 도움이 : P

편집 :이 (이미 생성 기능) 내가 찾은

: 당신이

무엇을 검색 Generating Random Passwords 일부 기능이 있습니다