Black Box
BBMiBandDataEncryption.cs
1 using BBSensorDataEncryptor;
2 using System;
3 using System.IO;
4 using System.Security.Cryptography;
5 using System.Text;
6 
8 {
9  public class BBMiBandDataEncryption
10  {
11  private static string pSensor = "";
12  private static string SensorKey = BBSensorDataEncrypDecrypKey.sKey();
13  private static string SensorIV = BBSensorDataEncrypDecrypKey.sIV();
14  private static byte[] SensorIVByte = { };
15  private static byte[] SensorKeyByte = { };
16  private static byte[] inputByteArray;
17  private static MemoryStream ms = null;
18  private static CryptoStream cs = null;
19  private static readonly string dataPath = @"BBPS\BBMibandData.xml";
20 
26  public static void EncryptData(string SensorData)
27  {
28  SensorIVByte = Encoding.UTF8.GetBytes(SensorIV.Substring(0, 8));
29  SensorKeyByte = Encoding.UTF8.GetBytes(SensorKey.Substring(0, 8));
30 
31  inputByteArray = Encoding.UTF8.GetBytes(SensorData);
32  using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
33  {
34  ms = new MemoryStream();
35  cs = new CryptoStream(ms, des.CreateEncryptor(SensorKeyByte, SensorIVByte), CryptoStreamMode.Write);
36  cs.Write(inputByteArray, 0, inputByteArray.Length);
37  cs.FlushFinalBlock();
38  pSensor = Convert.ToBase64String(ms.ToArray());
39  }
40  // Save encrypted data to a file
41  SaveSensorData();
42  }
43 
47  private static void SaveSensorData()
48  {
49  if (!File.Exists(dataPath))
50  {
51  File.WriteAllText(dataPath, pSensor + Environment.NewLine);
52  }
53 
54  File.AppendAllText(dataPath, pSensor + Environment.NewLine);
55  }
56  }
57 }
static void EncryptData(string SensorData)
This method encrypts the sensor data