‪Black Box
BBThermostatDataEncryption.cs
Go to the documentation of this file.
1 /*
2 * FILE : BBthermostatDataEncryption.cs
3 * PROJECT : Black Box
4 * PROGRAMMER : BRIAN HINDS
5 * FIRST VERSION : 1.0.0.0
6 * DESCRIPTION : This library file manage the encryption of the thermostat data.
7 */
8 
9 using System;
10 using System.IO;
11 using System.Security.Cryptography;
12 using System.Text;
13 
15 {
17  {
21  private static string ‪pSensor = "";
22 
25  private static byte[] ‪SensorIVByte = { };
26  private static byte[] ‪SensorKeyByte = { };
27  private static byte[] ‪inputByteArray;
28  private static MemoryStream ‪ms = null;
29  private static CryptoStream ‪cs = null;
30  private static readonly string ‪dataPath = @"BBTS\thermostatData.xml";
31 
37  public static void ‪EncryptData(string SensorData)
38  {
39  ‪SensorIVByte = Encoding.UTF8.GetBytes(‪SensorIV.Substring(0, 8));
40  ‪SensorKeyByte = Encoding.UTF8.GetBytes(‪SensorKey.Substring(0, 8));
41 
42  ‪inputByteArray = Encoding.UTF8.GetBytes(SensorData + "," + DateTime.Now.ToString(" h:mm:ss tt") + "," + DateTime.Now.ToString("yyyy-MM-dd"));
43  using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
44  {
45  ‪ms = new MemoryStream();
46  ‪cs = new CryptoStream(‪ms, des.CreateEncryptor(‪SensorKeyByte, ‪SensorIVByte), CryptoStreamMode.Write);
47  ‪cs.Write(‪inputByteArray, 0, ‪inputByteArray.Length);
48  ‪cs.FlushFinalBlock();
49  ‪pSensor = Convert.ToBase64String(‪ms.ToArray());
50  }
51  // Save encrypted data to a file
53  }
54 
58  private static void ‪SaveSensorData()
59  {
60  if (!File.Exists(‪dataPath))
61  {
62  File.WriteAllText(‪dataPath, ‪pSensor + Environment.NewLine);
63  }
64 
65  File.AppendAllText(‪dataPath, ‪pSensor + Environment.NewLine);
66  }
67  }
68 }
‪static void EncryptData(string SensorData)
‪This method encrypts the thermostat data
‪static string pSensor
‪thermostat encryption variables
‪static void SaveSensorData()
‪Store encrypted sensor data to a file