此段代码为某程序解密函数,求转换为加密函数
public static string Decrypt(string Text, string sKey = "")
{
DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
int num = Text.Length / 2;
byte[] array = new byte[num];
for (int i = 0; i < num; i++)
{
int num2 = Convert.ToInt32(Text.Substring(i * 2, 2), 16);
array[i] = (byte)num2;
}
dESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
dESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, dESCryptoServiceProvider.CreateDecryptor(), CryptoStreamMode.Write);
cryptoStream.Write(array, 0, array.Length);
cryptoStream.FlushFinalBlock();
return Encoding.Default.GetString(memoryStream.ToArray());
}
public string Encrypt(string stringToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(stringToEncrypt);
dESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
dESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
有没有解密前和解密后的对比例子?最好提供几组,好让人知道写的对不对呀