‪Black Box
BBMiBandDataEncryption.cs
Go to the documentation of this file.
1 /*
2 * FILE : BBMibandDataEncryption.cs
3 * PROJECT : Black Box
4 * PROGRAMMER : BRIAN HINDS
5 * FIRST VERSION : 1.0.0.0
6 * DATE : March 20, 2019
7 * DESCRIPTION : This file manages the data encryption of the collected data.
8 */
9 
11 using System;
12 using System.IO;
13 using System.Security.Cryptography;
14 using System.Text;
15 
16 namespace ‪MiBand_Heartrate
17 {
19  {
20  private static string ‪pSensor = "";
23  private static byte[] ‪SensorIVByte = { };
24  private static byte[] ‪SensorKeyByte = { };
25  private static byte[] ‪inputByteArray;
26  private static MemoryStream ‪ms = null;
27  private static CryptoStream ‪cs = null;
28  private static readonly string ‪dataPath = @"BBFS\BBMibandData.xml";
29 
35  public static void ‪EncryptData(string SensorData)
36  {
37  ‪SensorIVByte = Encoding.UTF8.GetBytes(‪SensorIV.Substring(0, 8));
38  ‪SensorKeyByte = Encoding.UTF8.GetBytes(‪SensorKey.Substring(0, 8));
39 
40  ‪inputByteArray = Encoding.UTF8.GetBytes(SensorData);
41  using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
42  {
43  ‪ms = new MemoryStream();
44  ‪cs = new CryptoStream(‪ms, des.CreateEncryptor(‪SensorKeyByte, ‪SensorIVByte), CryptoStreamMode.Write);
45  ‪cs.Write(‪inputByteArray, 0, ‪inputByteArray.Length);
46  ‪cs.FlushFinalBlock();
47  ‪pSensor = Convert.ToBase64String(‪ms.ToArray());
48  }
49  // Save encrypted data to a file
51  }
52 
56  private static void ‪SaveSensorData()
57  {
58  if (!File.Exists(‪dataPath))
59  {
60  File.WriteAllText(‪dataPath, ‪pSensor + Environment.NewLine);
61  }
62 
63  File.AppendAllText(‪dataPath, ‪pSensor + Environment.NewLine);
64  }
65  }
66 }
‪static void EncryptData(string SensorData)
‪This method encrypts the sensor data
‪static void SaveSensorData()
‪Store encrypted sensor data