急急急急急 关于C#DES 加密和解密

来源:百度知道 编辑:UC知道 时间:2024/09/23 04:56:28
密钥8位正常加解密,但是我密钥16位时候怎么改?????

public class Class3
{

/// <summary>
/// DES加密方法
/// </summary>
/// <param name="strPlain">明文</param>
/// <param name="strDESKey">密钥</param>
/// <param name="strDESIV">向量</param>
/// <returns>密文</returns>
public static string DESEncrypt(string strPlain, string strDESKey, string strDESIV)
{
byte[] bytesDESKey = ASCIIEncoding.ASCII.GetBytes(strDESKey.Substring(0, 8));

byte[] bytesDESIV = ASCIIEncoding.ASCII.GetBytes(strDESIV);
DESCryptoServiceProvider desEncrypt = new DESCryptoServiceProvider();
MemoryStream msEncrypt = new MemoryStream();
CryptoStream csEncrypt = new CryptoStream(msEncrypt, desEncrypt.Creat

public class TripleDES_
{

public static string EncodeByDES(string origin, byte[] key, byte[] iv)
{
byte[] input = UnicodeEncoding.UTF8.GetBytes(origin);
byte[] md5Hash = new MD5CryptoServiceProvider().ComputeHash(input);
byte[] totalBuf = new byte[input.Length + md5Hash.Length];
Array.Copy(md5Hash, 0, totalBuf, 0, md5Hash.Length);
Array.Copy(input, 0, totalBuf, md5Hash.Length, input.Length);
return Convert.ToBase64String(EncryptTextToMemory(totalBuf, key, iv));
}
public static byte[] EncryptTextToMemory(byte[] data, byte[] Key, byte[] IV)
{
try
{
// Create a MemoryStream.
MemoryStream mStream = new MemoryStream();

// Create a CryptoStream using the MemoryStream
// and the passed ke