"Working through a pretty ugly project, I came across this C# beauty," Matt B writes, "at first, I was unsure of what it did. I was utterly perplexed until I took a second look at the function name. "

"It turns out, it produces a random string of letters. It was used to create a random ID for some URLs. Apparently, this developer was too proud for base 64 encoding, MD5, or some good old ASCII conversion."

protected String getRanString()
{
    String uncleanRandomString = System.Web.Security.Membership.GeneratePassword(10, 0);
    uncleanRandomString = uncleanRandomString.Replace("!", "a");
    uncleanRandomString = uncleanRandomString.Replace("@", "2");
    uncleanRandomString = uncleanRandomString.Replace("#", "c");
    uncleanRandomString = uncleanRandomString.Replace("$", "4");
    uncleanRandomString = uncleanRandomString.Replace("%", "3");
    uncleanRandomString = uncleanRandomString.Replace("^", "i");
    uncleanRandomString = uncleanRandomString.Replace("&", "a");
    uncleanRandomString = uncleanRandomString.Replace("*", "9");
    uncleanRandomString = uncleanRandomString.Replace("(", "g");
    uncleanRandomString = uncleanRandomString.Replace(")", "m");
    uncleanRandomString = uncleanRandomString.Replace("_", "d");
    uncleanRandomString = uncleanRandomString.Replace("-", "5");
    uncleanRandomString = uncleanRandomString.Replace("+", "p");
    uncleanRandomString = uncleanRandomString.Replace("=", "q");
    uncleanRandomString = uncleanRandomString.Replace("[", "w");
    uncleanRandomString = uncleanRandomString.Replace("{", "t");
    uncleanRandomString = uncleanRandomString.Replace("]", "r");
    uncleanRandomString = uncleanRandomString.Replace("}", "f");
    uncleanRandomString = uncleanRandomString.Replace(";", "8");
    uncleanRandomString = uncleanRandomString.Replace(":", "z");
    uncleanRandomString = uncleanRandomString.Replace("<", "x");
    uncleanRandomString = uncleanRandomString.Replace(">", "0");
    uncleanRandomString = uncleanRandomString.Replace("|", "v");
    uncleanRandomString = uncleanRandomString.Replace(".", "b");
    uncleanRandomString = uncleanRandomString.Replace("/", "y");
    uncleanRandomString = uncleanRandomString.Replace("?", "t");
    return uncleanRandomString;
}