C# code 转成 Delphi code
风车呼噜噜 2013-05-21 05:02:25 这是一个用C# 写的加密解密算法,哪位可以用delphi代码写一个
public class ClassCrypt
{
private const string EncryptionKey = "711Superl711Hyggehejsa";
private byte[] key = { };
private byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
public string Decrypt(string stringToDecrypt)
{
try
{
byte[] inputByteArray = new byte[stringToDecrypt.Length];
key = Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8)); //s.Text.Encoding.UTF8.GetBytes(Mid(EncryptionKey, 1, 8))
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(stringToDecrypt);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
Encoding encoding = Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception ex)
{
return "Error:" + ex.Message;
}
}
public string Encrypt(string stringToEncrypt)
{
try
{
key = Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(stringToEncrypt);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
return "Error:" + ex.Message;
}
}
}