2010-05-19 4 views
0

나는 임의 암호를 생성 중입니다. 하지만 암호의 소리 나는 문자열을 얻고 싶습니다. 어떻게하면 소리 나는 문자열을 얻을 수 있습니까? 예 :asp.net 소리 나는 암호 생성기

deT3f9y => 델타 - 번호 3 - - 폭스 - 번호 9 - 양키

답변

0

나는 아래와 같이 소리 나는 문자열을 생성하는 클래스를 만들었습니다.

사용법 :

문자열 PSW = "deT3f9y"

문자열 전화 = Phonetic.GetPhoneticPassword (PSW); 시스템을 사용하여

enter code here 

; using System.Collections.Generic; using System.Linq; using System.Web; 소리 나는 /// 공용 클래스 소리 나는 { 공공 소리 나는()에 대한

/// /// 요약 설명 { // 이 // TODO : 여기에 추가 생성자 논리 // }

public static string GetPhoneticPassword(string Passsord) 
{ 
    string PhoneticString = string.Empty; 
    char[] pswChar = Passsord.ToCharArray(); 
    foreach (char chr in pswChar) 
    { 
     if (PhoneticString == string.Empty) 
     { 
      PhoneticString = GetPhoneticSting(chr); 
     } 
     else 
     { 
      PhoneticString += " - " + GetPhoneticSting(chr); 
     } 
    } 

    return PhoneticString; 
} 


public static string GetPhoneticSting(char Chr) 
{ 
    string PhString= string.Empty; 

    string Newchar = Chr.ToString(); 

    switch (Newchar.ToLower()) 
    { 
     case "a": 
      PhString = "alpfa"; 
      break; 
     case "b": 
      PhString = "bravo"; 
      break; 
     case "c": 
      PhString = "charlie"; 
      break; 
     case "d": 
      PhString = "delta"; 
      break; 
     case "e": 
      PhString = "echo"; 
      break; 
     case "f": 
      PhString = "foxtrot"; 
      break; 
     case "g": 
      PhString = "golf"; 
      break; 
     case "h": 
      PhString = "hotel"; 
      break; 
     case "i": 
      PhString = "item"; 
      break; 
     case "j": 
      PhString = "juliet"; 
      break; 
     case "k": 
      PhString = "kilo"; 
      break; 
     case "l": 
      PhString = "lima"; 
      break; 
     case "m": 
      PhString = "mike"; 
      break; 
     case "n": 
      PhString = "november"; 
      break; 
     case "o": 
      PhString = "oscar"; 
      break; 
     case "p": 
      PhString = "papa"; 
      break; 
     case "q": 
      PhString = "queen"; 
      break; 
     case "r": 
      PhString = "romeo"; 
      break; 
     case "s": 
      PhString = "sugar"; 
      break; 
     case "t": 
      PhString = "tango"; 
      break; 
     case "u": 
      PhString = "uniform"; 
      break; 
     case "v": 
      PhString = "victor"; 
      break; 
     case "w": 
      PhString = "whiskey"; 
      break; 
     case "x": 
      PhString = "x-ray"; 
      break; 
     case "y": 
      PhString = "yankee"; 
      break; 
     case "z": 
      PhString = "zulu"; 
      break; 
     case "1": 
      PhString = "One"; 
      break; 
     case "2": 
      PhString = "Two"; 
      break; 
     case "3": 
      PhString = "Three"; 
      break; 
     case "4": 
      PhString = "Four"; 
      break; 
     case "5": 
      PhString = "Five"; 
      break; 
     case "6": 
      PhString = "Six"; 
      break; 
     case "7": 
      PhString = "Seven"; 
      break; 
     case "8": 
      PhString = "Eight"; 
      break; 
     case "9": 
      PhString = "Nine"; 
      break; 
     case "0": 
      PhString = "Zero"; 
      break; 
     default: 
      break; 
    } 

    if(CheckUpper(Chr.ToString())) 
    { 
     PhString = PhString.ToUpper(); 
    } 

    return PhString; 

} 

public static bool CheckUpper(string strCheck) 
{ 
    if(string.Compare(strCheck,strCheck.ToUpper())==0) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

0

단어에 문자 (변환 룩업 테이블이 'A'- -Tango 에코> "alpha") 생성 된 암호의 문자를 반복하여 단어를 찾습니다.