IDE Arduino и Arduino-крипто библиотека esp8266 - PullRequest
0 голосов
/ 30 декабря 2018

Я использую arduino-crypto для моего ESP8266.Я не сталкиваюсь ни с какими ошибками, но у меня есть проблема, которую, я надеюсь, вы сможете решить для меня.

Этот код:

#define BLOCK_SIZE 16

uint8_t key[BLOCK_SIZE] = { 0x1C,0x3E,0x4B,0xAF,0x13,0x4A,0x89,0xC3,0xF3,0x87,0x4F,0xBC,0xD7,0xF3, 0x31, 0x31 };
uint8_t iv[BLOCK_SIZE] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

char plain_text[] = "1234567890ABCDEF1234567890ABCDEF";

  // encrypt
  int length = 0;
  bufferSize(plain_text, length);
  char encrypted[length];
  encrypt(plain_text, encrypted, length);

  Serial.println("");
  Serial.print("Encrypted: ");
  Serial.println(encrypted);

  Serial.println(length);
  Serial.println(strlen(encrypted));

Работает просто отлично и дает мне значение шифрованияиз:

Зашифровано: y3QzsGi6cYiy3GGs31jXvTY8VI2OrlxsohOasiw4pgP + 54gWXtUZPrjuRvOfyRTz

Однако, если я хорошо выполню и шифрование, и расшифровку *1013* * 101 * * 101 * * * 101 * * * * 101 * * * * 101 * * * * 101 * * 101 * * расшифровывается *, шифруется и дешифруется * 4 * * * * 101 * * * * 101 * * * * * * 101 * * 101 * * * * * * *1013* * * * * * 101 * * * * * * * * *1013* * * * * * * 101 *просто запустите расшифровку и скопируйте зашифрованное значение, а затем выполните следующее:

// decrypt
  char* encrypted = "y3QzsGi6cYiy3GGs31jXvTY8VI2OrlxsohOasiw4pgP+54gWXtUZPrjuRvOfyRTz";
  int length = strlen(encrypted);
  char decrypted[length];
  decrypt(encrypted, decrypted, length);
  Serial.print("Decrypted: ");
  Serial.println(decrypted);

Это выводит это в консоли:

Расшифровано: ⸮⸮⸮⸮⸮j⸮Ҏ⸮R |; 31234567890ABCDEF

Там есть несколько букв / цифр оригинального сообщения, но не уверен, почему его не расшифровывают, как это происходит при одновременном запуске обоих.

Что можно сделать, чтобы это исправить?

...