【发布时间】:2010-05-19 10:28:08
【问题描述】:
我正在生成随机密码。 但我想获取密码的拼音字符串。 知道如何获得拼音字符串吗? 示例:
deT3f9y => delta - echo -Tango - 3 号 - 狐狸 - 9 号 - 洋基
【问题讨论】:
我正在生成随机密码。 但我想获取密码的拼音字符串。 知道如何获得拼音字符串吗? 示例:
deT3f9y => delta - echo -Tango - 3 号 - 狐狸 - 9 号 - 洋基
【问题讨论】:
有一个查找表,将字符转换为单词('a' -> "alpha"),然后遍历生成的密码中的字符,查找单词。
【讨论】:
我已经创建了如下类来生成语音字符串。
用法:
字符串 Psw = "deT3f9y"
字符串电话 = Phonetic.GetPhoneticPassword(Psw);
enter code here
使用系统; 使用 System.Collections.Generic; 使用 System.Linq; 使用 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;
}
}
}
【讨论】: