123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- using System;
- using System.Text;
- using System.Security.Cryptography;
- using System.IO;
- namespace Wayne.FDCPOSLibrary
- {
- public class DESCrypter
- {
- TripleDESCryptoServiceProvider cryptic = null;
- public DESCrypter()
- {
- cryptic = new TripleDESCryptoServiceProvider();
- MD5Crypter md5 = new MD5Crypter();
- cryptic.Key = md5.ComputeHash(UTF8Encoding.ASCII.GetBytes("DresserFusion}123"));
- //cryptic.IV = md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes("DresserFusion}123"));
- cryptic.Mode = CipherMode.ECB;
- cryptic.Padding = PaddingMode.PKCS7;
- }
- public void Encrypt(String data, out string encryptedstring)
- {
- if (data == null)
- encryptedstring = "";
- byte[] databytes = UTF8Encoding.UTF8.GetBytes(data);
- byte[] dataencrypted = Encrypt(databytes);
- encryptedstring = Convert.ToBase64String(dataencrypted, 0, dataencrypted.Length);
- }
- public byte[] Encrypt(String data)
- {
- if (data == null)
- return null;
- byte[] databytes = UTF8Encoding.UTF8.GetBytes(data);
- return Encrypt(databytes);
- }
- public void Encrypt(byte[] data, out string encryptedstring)
- {
- if (data == null)
- encryptedstring = "";
- byte[] dataencrypted = Encrypt(data);
- encryptedstring = Convert.ToBase64String(dataencrypted, 0, dataencrypted.Length);
- }
- public byte[] Encrypt(byte[] databytes)
- {
- try
- {
- if (databytes == null)
- return null; ;
- // Create a CryptoStream using the FileStream
- // and the passed key and initialization vector (IV).
- ICryptoTransform encryptor = cryptic.CreateEncryptor(); // RijndaelAlg.CreateEncryptor(Key, IV);
- byte[] dataencrypted = encryptor.TransformFinalBlock(databytes, 0, databytes.GetLength(0));
- return dataencrypted;
- }
- catch (CryptographicException e)
- {
- //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
- }
- catch (UnauthorizedAccessException e)
- {
- //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
- }
- catch (Exception ex)
- {
- //sstrace.WriteLine(string.Format("A generic error occurred: {0}", e.Message));
- }
- return null;
- }
- public void EncryptTextToFile(String Data, String FileName)
- {
- try
- {
- // Create or open the specified file.
- FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
- // Create a CryptoStream using the FileStream
- // and the passed key and initialization vector (IV).
- ICryptoTransform transform = cryptic.CreateEncryptor(); // RijndaelAlg.CreateEncryptor(Key, IV);
- CryptoStream cStream = new CryptoStream(fStream,
- transform,
- CryptoStreamMode.Write);
- // Create a StreamWriter using the CryptoStream.
- StreamWriter sWriter = new StreamWriter(cStream);
- try
- {
- // Write the data to the stream
- // to encrypt it.
- sWriter.WriteLine(Data);
- }
- catch (Exception e)
- {
- //sstrace.WriteLine(string.Format("An error occurred: {0}", e.Message));
- }
- finally
- {
- // Close the streams and
- // close the file.
- sWriter.Close();
- cStream.Close();
- fStream.Close();
- }
- }
- catch (CryptographicException e)
- {
- //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
- }
- catch (UnauthorizedAccessException e)
- {
- //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
- }
- }
- public void Decrypt(string data, out string decryptedstring)
- {
- byte[] databytes = Convert.FromBase64String(data);
- byte[] decrypteddata = Decrypt(databytes);
- decryptedstring = UTF8Encoding.UTF8.GetString(decrypteddata, 0, decrypteddata.GetLength(0));
- }
- public void Decrypt(byte[] data, out string decryptedstring)
- {
- byte[] decrypteddata = Decrypt(data);
- decryptedstring = UTF8Encoding.UTF8.GetString(decrypteddata, 0, decrypteddata.GetLength(0));
- }
- public byte[] Decrypt(string data)
- {
- byte[] databytes = Convert.FromBase64String(data);
- return Decrypt(databytes);
- }
- public byte[] Decrypt(byte[] data)
- {
- try
- {
- ICryptoTransform decryptor = cryptic.CreateDecryptor();
- return decryptor.TransformFinalBlock(data, 0, data.Length);
- }
- catch (CryptographicException e)
- {
- //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
- }
- catch (UnauthorizedAccessException e)
- {
- //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
- }
- catch (Exception ex)
- {
- //sstrace.WriteLine(string.Format("A generic error occurred: {0}", e.Message));
- }
- return null;
- }
- public string DecryptTextFromFile(String FileName)
- {
- try
- {
- // Create or open the specified file.
- FileStream fStream = File.Open(FileName, FileMode.Open);
- // Create a CryptoStream using the FileStream
- // and the passed key and initialization vector (IV).
- ICryptoTransform transform = cryptic.CreateDecryptor(); // RijndaelAlg.CreateEncryptor(Key, IV);
- CryptoStream cStream = new CryptoStream(fStream,
- transform,
- CryptoStreamMode.Read);
- // Create a StreamReader using the CryptoStream.
- StreamReader sReader = new StreamReader(cStream);
- string val = "";
- try
- {
- // Read the data from the stream
- // to decrypt it.
- val = sReader.ReadToEnd();
- }
- catch (Exception e)
- {
- //sstrace.WriteLine(string.Format("An error occurred: {0}", e.Message));
- }
- finally
- {
- // Close the streams and
- // close the file.
- sReader.Close();
- cStream.Close();
- fStream.Close();
- }
- // Return the string.
- return val;
- }
- catch (CryptographicException e)
- {
- //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
- }
- catch (UnauthorizedAccessException e)
- {
- //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
- }
- return null;
- }
- }
- }
|