Using System;
Using System. IO;
Using System. Security. Cryptography;
Namespace Vavic
{
/// <Summary>
/// Security summary.
/// </Summary>
Public class Security
{
Const string KEY_64 = "VavicApp ";
Const string IV_64 = "VavicApp"; // note that it is 8 characters long and 64-bit
Public Security ()
{
//
// TODO: add the constructor logic here
//
}
Public static string Encode (string data)
{
Byte [] byKey = System. Text. ASCIIEncoding. ASCII. GetBytes (KEY_64 );
Byte [] byIV = System. Text. ASCIIEncoding. ASCII. GetBytes (IV_64 );
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider ();
Int I = cryptoProvider. KeySize;
MemoryStream MS = new MemoryStream ();
CryptoStream cst = new CryptoStream (MS, cryptoProvider. CreateEncryptor (byKey, byIV), CryptoStreamMode. Write );
StreamWriter sw = new StreamWriter (cst );
Sw. Write (data );
Sw. Flush ();
Cst. FlushFinalBlock ();
Sw. Flush ();
Return Convert. ToBase64String (ms. GetBuffer (), 0, (int) ms. Length );
}
Public static string Decode (string data)
{
Byte [] byKey = System. Text. ASCIIEncoding. ASCII. GetBytes (KEY_64 );
Byte [] byIV = System. Text. ASCIIEncoding. ASCII. GetBytes (IV_64 );
Byte [] byEnc;
Try
{
ByEnc = Convert. FromBase64String (data );
}
Catch
{
Return null;
}
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider ();
MemoryStream MS = new MemoryStream (byEnc );
CryptoStream cst = new CryptoStream (MS, cryptoProvider. CreateDecryptor (byKey, byIV), CryptoStreamMode. Read );
StreamReader sr = new StreamReader (cst );
Return sr. ReadToEnd ();
}
}
}