DESCrypter.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. using System;
  2. using System.Text;
  3. using System.Security.Cryptography;
  4. using System.IO;
  5. namespace Wayne.FDCPOSLibrary
  6. {
  7. public class DESCrypter
  8. {
  9. TripleDESCryptoServiceProvider cryptic = null;
  10. public DESCrypter()
  11. {
  12. cryptic = new TripleDESCryptoServiceProvider();
  13. MD5Crypter md5 = new MD5Crypter();
  14. cryptic.Key = md5.ComputeHash(UTF8Encoding.ASCII.GetBytes("DresserFusion}123"));
  15. //cryptic.IV = md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes("DresserFusion}123"));
  16. cryptic.Mode = CipherMode.ECB;
  17. cryptic.Padding = PaddingMode.PKCS7;
  18. }
  19. public void Encrypt(String data, out string encryptedstring)
  20. {
  21. if (data == null)
  22. encryptedstring = "";
  23. byte[] databytes = UTF8Encoding.UTF8.GetBytes(data);
  24. byte[] dataencrypted = Encrypt(databytes);
  25. encryptedstring = Convert.ToBase64String(dataencrypted, 0, dataencrypted.Length);
  26. }
  27. public byte[] Encrypt(String data)
  28. {
  29. if (data == null)
  30. return null;
  31. byte[] databytes = UTF8Encoding.UTF8.GetBytes(data);
  32. return Encrypt(databytes);
  33. }
  34. public void Encrypt(byte[] data, out string encryptedstring)
  35. {
  36. if (data == null)
  37. encryptedstring = "";
  38. byte[] dataencrypted = Encrypt(data);
  39. encryptedstring = Convert.ToBase64String(dataencrypted, 0, dataencrypted.Length);
  40. }
  41. public byte[] Encrypt(byte[] databytes)
  42. {
  43. try
  44. {
  45. if (databytes == null)
  46. return null; ;
  47. // Create a CryptoStream using the FileStream
  48. // and the passed key and initialization vector (IV).
  49. ICryptoTransform encryptor = cryptic.CreateEncryptor(); // RijndaelAlg.CreateEncryptor(Key, IV);
  50. byte[] dataencrypted = encryptor.TransformFinalBlock(databytes, 0, databytes.GetLength(0));
  51. return dataencrypted;
  52. }
  53. catch (CryptographicException e)
  54. {
  55. //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
  56. }
  57. catch (UnauthorizedAccessException e)
  58. {
  59. //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
  60. }
  61. catch (Exception ex)
  62. {
  63. //sstrace.WriteLine(string.Format("A generic error occurred: {0}", e.Message));
  64. }
  65. return null;
  66. }
  67. public void EncryptTextToFile(String Data, String FileName)
  68. {
  69. try
  70. {
  71. // Create or open the specified file.
  72. FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
  73. // Create a CryptoStream using the FileStream
  74. // and the passed key and initialization vector (IV).
  75. ICryptoTransform transform = cryptic.CreateEncryptor(); // RijndaelAlg.CreateEncryptor(Key, IV);
  76. CryptoStream cStream = new CryptoStream(fStream,
  77. transform,
  78. CryptoStreamMode.Write);
  79. // Create a StreamWriter using the CryptoStream.
  80. StreamWriter sWriter = new StreamWriter(cStream);
  81. try
  82. {
  83. // Write the data to the stream
  84. // to encrypt it.
  85. sWriter.WriteLine(Data);
  86. }
  87. catch (Exception e)
  88. {
  89. //sstrace.WriteLine(string.Format("An error occurred: {0}", e.Message));
  90. }
  91. finally
  92. {
  93. // Close the streams and
  94. // close the file.
  95. sWriter.Close();
  96. cStream.Close();
  97. fStream.Close();
  98. }
  99. }
  100. catch (CryptographicException e)
  101. {
  102. //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
  103. }
  104. catch (UnauthorizedAccessException e)
  105. {
  106. //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
  107. }
  108. }
  109. public void Decrypt(string data, out string decryptedstring)
  110. {
  111. byte[] databytes = Convert.FromBase64String(data);
  112. byte[] decrypteddata = Decrypt(databytes);
  113. decryptedstring = UTF8Encoding.UTF8.GetString(decrypteddata, 0, decrypteddata.GetLength(0));
  114. }
  115. public void Decrypt(byte[] data, out string decryptedstring)
  116. {
  117. byte[] decrypteddata = Decrypt(data);
  118. decryptedstring = UTF8Encoding.UTF8.GetString(decrypteddata, 0, decrypteddata.GetLength(0));
  119. }
  120. public byte[] Decrypt(string data)
  121. {
  122. byte[] databytes = Convert.FromBase64String(data);
  123. return Decrypt(databytes);
  124. }
  125. public byte[] Decrypt(byte[] data)
  126. {
  127. try
  128. {
  129. ICryptoTransform decryptor = cryptic.CreateDecryptor();
  130. return decryptor.TransformFinalBlock(data, 0, data.Length);
  131. }
  132. catch (CryptographicException e)
  133. {
  134. //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
  135. }
  136. catch (UnauthorizedAccessException e)
  137. {
  138. //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
  139. }
  140. catch (Exception ex)
  141. {
  142. //sstrace.WriteLine(string.Format("A generic error occurred: {0}", e.Message));
  143. }
  144. return null;
  145. }
  146. public string DecryptTextFromFile(String FileName)
  147. {
  148. try
  149. {
  150. // Create or open the specified file.
  151. FileStream fStream = File.Open(FileName, FileMode.Open);
  152. // Create a CryptoStream using the FileStream
  153. // and the passed key and initialization vector (IV).
  154. ICryptoTransform transform = cryptic.CreateDecryptor(); // RijndaelAlg.CreateEncryptor(Key, IV);
  155. CryptoStream cStream = new CryptoStream(fStream,
  156. transform,
  157. CryptoStreamMode.Read);
  158. // Create a StreamReader using the CryptoStream.
  159. StreamReader sReader = new StreamReader(cStream);
  160. string val = "";
  161. try
  162. {
  163. // Read the data from the stream
  164. // to decrypt it.
  165. val = sReader.ReadToEnd();
  166. }
  167. catch (Exception e)
  168. {
  169. //sstrace.WriteLine(string.Format("An error occurred: {0}", e.Message));
  170. }
  171. finally
  172. {
  173. // Close the streams and
  174. // close the file.
  175. sReader.Close();
  176. cStream.Close();
  177. fStream.Close();
  178. }
  179. // Return the string.
  180. return val;
  181. }
  182. catch (CryptographicException e)
  183. {
  184. //sstrace.WriteLine(string.Format("A Cryptographic error occurred: {0}", e.Message));
  185. }
  186. catch (UnauthorizedAccessException e)
  187. {
  188. //sstrace.WriteLine(string.Format("A file error occurred: {0}", e.Message));
  189. }
  190. return null;
  191. }
  192. }
  193. }