1、/summaryparam name=strSource待加密字串key32位Key值加密后的字符串public string DESEncrypt(string strSource)return DESEncrypt(strSource, DESKey);public string DESEncrypt(string strSource, byte key)SymmetricAlgorithm sa = Rijndael.Create();sa.Key = key;sa.Mode = CipherMode.ECB;sa.Padding = PaddingMode.Zeros;MemorySt
2、ream ms = new MemoryStream();CryptoStream cs = new CryptoStream(ms, sa.CreateEncryptor(), CryptoStreamMode.Write);byte byt = Encoding.Unicode.GetBytes(strSource);cs.Write(byt, 0, byt.Length);cs.FlushFinalBlock();cs.Close();return Convert.ToBase64String(ms.ToArray();/ DES解密待解密的字串解密后的字符串public string
3、DESDecrypt(string strSource)return DESDecrypt(strSource, DESKey);public string DESDecrypt(string strSource, byte key)ICryptoTransform ct = sa.CreateDecryptor();byte byt = Convert.FromBase64String(strSource);MemoryStream ms = new MemoryStream(byt);CryptoStream cs = new CryptoStream(ms, ct, CryptoStre
4、amMode.Read);StreamReader sr = new StreamReader(cs, Encoding.Unicode);return sr.ReadToEnd();#endregion#region 一个用hash实现的加密解密方法/ 加密srcpublic static string EncryptStrByHash(string src)if (src.Length = 0) return ;byte HaKey = System.Text.Encoding.ASCII.GetBytes(src + Test).ToCharArray();byte HaData = n
5、ew byte20;HMACSHA1 Hmac = new HMACSHA1(HaKey);CryptoStream cs = new CryptoStream(Stream.Null, Hmac, CryptoStreamMode.Write);try cs.Write(HaData, 0, HaData.Length);finally cs.Close();string HaResult = System.Convert.ToBase64String(Hmac.Hash).Substring(0, 16);byte RiKey = System.Text.Encoding.ASCII.Ge
6、tBytes(HaResult.ToCharArray();byte RiDataBuf = System.Text.Encoding.ASCII.GetBytes(src.ToCharArray();byte EncodedBytes = ;RijndaelManaged rv = new RijndaelManaged();cs = new CryptoStream(ms, rv.CreateEncryptor(RiKey, RiKey), CryptoStreamMode.Write); cs.Write(RiDataBuf, 0, RiDataBuf.Length); cs.Flush
7、FinalBlock(); EncodedBytes = ms.ToArray(); ms.Close();return HaResult + System.Convert.ToBase64String(EncodedBytes);/ 解密public static string DecrypStrByHash(string src)if (src.Length 40) return byte SrcBytes = System.Convert.FromBase64String(src.Substring(16);byte RiKey = System.Text.Encoding.ASCII.
8、GetBytes(src.Substring(0, 16).ToCharArray();byte InitialText = new byteSrcBytes.Length;MemoryStream ms = new MemoryStream(SrcBytes);CryptoStream cs = new CryptoStream(ms, rv.CreateDecryptor(RiKey, RiKey), CryptoStreamMode.Read); cs.Read(InitialText, 0, InitialText.Length);System.Text.StringBuilder Result = new System.Text.StringBuilder();for (int i = 0; i 16,则去掉前16个字符,如果长度小于16,返回空字符串para
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1