net 加密-解密

时间:2024-04-30 02:28:58
 #region DES加密 解密
//key:32位
public string DESEncrypt(string strSource, byte[] key)
{
System.Security.Cryptography.SymmetricAlgorithm sa = System.Security.Cryptography.Rijndael.Create();
sa.Key = key;
sa.Mode = System.Security.Cryptography.CipherMode.ECB;
sa.Padding = System.Security.Cryptography.PaddingMode.Zeros;
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, sa.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write);
byte[] byt = System.Text.Encoding.Unicode.GetBytes(strSource);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray()); }
public string DESDecrypt(string strSource,byte[] key)
{
System.Security.Cryptography.SymmetricAlgorithm sa = System.Security.Cryptography.Rijndael.Create();
sa.Key = key;
sa.Mode = System.Security.Cryptography.CipherMode.ECB;
sa.Padding = System.Security.Cryptography.PaddingMode.Zeros;
System.Security.Cryptography.ICryptoTransform ct = sa.CreateDecryptor();
byte[] byt = Convert.FromBase64String(strSource);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, ct, System.Security.Cryptography.CryptoStreamMode.Write);
cs.Write(byt,0,byt.Length);
cs.FlushFinalBlock();
cs.Close();
return System.Text.Encoding.Unicode.GetString(ms.ToArray());
}
#endregion