Почему в монитор порта в таком виде encrypted(HEX):14 25 FFFFFFEC FFFFFF9B 5D выводиться информация?
- Войдите на сайт для отправки комментариев
Сб, 07/09/2019 - 17:24
Почему в таком "FFFFFFEC" виде выводиться содержимое зашифрованной строки в шестнадцатеричном формате.
Почему выводиться не по байту, а в таком виде "FFFFFFEC"
или
FFFFFF9B
я ожидаю подобно
14 25 5D и т.д.
Это пример для библиотеки.
#include <AESLib.h> //Шифрование и дешифрование алгоритмом AES 128бит ключ. void setup () { Serial.begin (9600) ; } void loop () { Serial.println("Начало: "); aesTest(); delay(2000); } void фesTest () { uint8_t key[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; char data[] = "0123456789012345"; //16 chars == 16 bytes aes128_enc_single(key, data); Serial.print("sizeof(data):"); Serial.println(sizeof(data)); Serial.print("decrypted:"); Serial.println(data); Serial.print("encrypted(HEX):"); for (int i=0; i<(sizeof(data)); i++) { Serial.print(data[i], HEX); Serial.print(" "); //separator } Serial.println(); aes128_dec_single(key, data); Serial.print("decrypted:"); Serial.println(data); Serial.print("decrypted(HEX):"); for (int i=0; i<sizeof(data); i++) { Serial.print(data[i], HEX); Serial.print(" "); //separator } Serial.println(); }
1. Исправьте опечатку в строке№19
2. Замените char на unsigned char в строке №23.
3. В строках №№ 30 и 41 напишите Serial.println((char *)data); а то print не понимает массив беззнаковых целых.
Надеюсь, поможет.
Спасибо за ответ. Так работает.
(На форуме я не вижу как можно исправить мою опечатку. Разве что выложить код еще раз.)
Я так понимаю была был массив символов, а стал массив чего?
Спасибо за ответ. (забыл нажать кнопку ответ)
Объясните плиз что происходит почему стало нормально работать.
почему - "массив беззнаковых целых"
что значит - (char *)data
Часто такое вижу в скетчах, но не понимаю что это значит. * = указатель, но откуда вдруг указатель возник.
Я решил проблему по другому. Если не менять
это
на это
тогда можно
Но ваш Вариант лучше. Хотелось бы понять что за волшебство вы сотворили ))
Это явное приведение типов.