日期:2014-05-18 浏览次数:20884 次
/// <summary> /// 加密字符串 /// 注意:密钥必须为8位 /// </summary> /// <param name="strText">字符串</param> /// <param name="encryptKey">密钥</param> /// <return>加密后字符串</return> public static string DesEncrypt(string strText) { string outString=""; byte[] byKey=null; byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; try { byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, encryptKey.Length)); DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = Encoding.UTF8.GetBytes(strText); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write) ; cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); outString = Convert.ToBase64String(ms.ToArray()); } catch(System.Exception) { outString = ""; } return outString; } /// <summary> /// 解密字符串 /// </summary> /// <param name="strText">加了密的字符串</param> /// <param name="decryptKey">密钥</param> public static string DesDecrypt(string strText) { string outString = ""; byte[] byKey = null; byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; byte[] inputByteArray = new Byte[strText.Length]; try { byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, decryptKey.Length)); DESCryptoServiceProvider des = new DESCryptoServiceProvider(); inputByteArray = Convert.FromBase64String(strText); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); System.Text.Encoding encoding = new System.Text.UTF8Encoding(); outString = encoding.GetString(ms.ToArray()); } catch(System.Exception) { outString = ""; } return outString; } #endregion