I'm using Vs 2010 Ultimate, it has one built in.
I see how it works, but it is still confusing. It appears it adds a bunch of useless data, and substitutes a bunch more. I did find an encrypted table, which I think may be used to revert stuff back. Not sure, I only spent about 5-10 minutes on it, but now that I know I'm wrong, it's nagging me so I'm gonna take a second look.
EDIT:
Okay, I think I see how you did it.
You pass two strings to the method, which is combined to make a new string. You then create string array the length of the combined string.
Each character in the string is iterated, converting each character to hexadecimal notation. Then, the whole string is multiplied by the corresponding character (converted to an integer) from th combined string. After all that, each character of this mess is changed to be equal to its index plus itself squared...
num = (index = (num * num))
You then create a new string, which is made up of the absolute value of each character that went through this transformation.
I don't think there are any encryption strings to find. You simply do some math on what has been given as a salt.
Do you have me looking for things that aren't there?