I have an Address class in C# that looks like this:
public class Address
{
public string StreetAddress { get; set; }
public string RuralR
public string getfourDigitEncryptedText(string input) {
int hashCode = input.hashCode();
string hstring = (new StringBuilder()).append(hashCode).append("").toString();
string rev_hstring = (new StringBuilder(hstring)).reverse().toString();
string parts[] = rev_hstring.trim().split("");
int prefixint = 0;
for(int i = 1; i <= parts.length - 3; i++)
prefixint += integer.parseInt(parts[i]);
string prefixstr = "0";
if((new integer(prefixint)).toString().length() < 2)
prefixstr = (new StringBuilder()).append((new integer(prefixint)).toString()).append("5").toString();
else if((new integer(prefixint)).toString().length() > 2)
prefixstr = "79";
else
prefixstr = (new integer(prefixint)).toString();
string finalstr = (new StringBuilder()).append(prefixint).append(rev_hstring.substring(3, 5)).toString();
return finalstr;
}