public string MD5(string S)
{
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] bOut = x.ComputeHash(Encoding.UTF8.GetBytes(S));
StringBuilder sb = new StringBuilder();
foreach (byte b in bOut)
sb.Append(b.ToString("x2").ToLower());
return sb.ToString();
}