/// <summary> /// MD5加密 /// </summary> /// <param name="s"></param> /// <returns></returns> public static string MD5Encrypt(string s) { string strResult = ""; System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create(); byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(s)); for (int i = 0; i < bytResult.Length; i++) { strResult = strResult + bytResult[i].ToString("x").PadLeft(2,'0'); } return strResult; } /// <summary> /// 与PHP兼容的MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns> public static string MD5(string password) { byte[] textBytes = System.Text.Encoding.UTF8.GetBytes(password); try { System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler; cryptHandler = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] hash = cryptHandler.ComputeHash(textBytes); string ret = ""; foreach (byte a in hash) { if (a < 16) ret += "0" + a.ToString("x"); else ret += a.ToString("x"); } return ret; } catch { throw; } } /// <summary> /// 16位md5加密,小写 /// </summary> /// <param name="password"></param> /// <returns></returns> public static string MD5_16(string password) { return MD5(password).ToLower().Substring(8, 16); }
private static string KEY = "222222222222222222"; private static string IV = "11111222211222111"; /// <summary> /// 3DES解密 /// </summary> /// <param name="strText"></param> /// <param name="key"></param> /// <param name="iv"></param> /// <returns></returns> public static String DESDecrypt(String strText, string key, string iv) { System.Security.Cryptography.TripleDESCryptoServiceProvider des3 = new System.Security.Cryptography.TripleDESCryptoServiceProvider(); des3.Key = Convert.FromBase64String(key); des3.IV = Convert.FromBase64String(iv); string result = string.Empty; try { byte[] buffer = Convert.FromBase64String(strText); buffer = des3.CreateDecryptor().TransformFinalBlock(buffer, 0, buffer.Length); result = System.Text.Encoding.UTF8.GetString(buffer); } catch { } return result; } /// <summary> /// 3DES加密 /// </summary> /// <param name="strText">待加密文字</param> /// <param name="key">KEY</param> /// <param name="iv">向量</param> /// <returns></returns> public static string DESEncrypt(string strText, string key, string iv) { System.Security.Cryptography.TripleDESCryptoServiceProvider des3 = new System.Security.Cryptography.TripleDESCryptoServiceProvider(); des3.Key = Convert.FromBase64String(key); des3.IV = Convert.FromBase64String(iv); string result = string.Empty; try { byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strText); buffer = des3.CreateEncryptor().TransformFinalBlock(buffer, 0, buffer.Length); result = Convert.ToBase64String(buffer); } catch { } return result; }