PIP 5.6.1
Platform-Independent Primitives
Открытые члены | Открытые статические члены | Защищенные члены | Полный список членов класса
Класс PIEthUtilBase

Базовый помощник, добавляющий необязательное шифрование пакетов в транспортные утилиты. Подробнее...

#include <piethutilbase.h>

Граф наследования:PIEthUtilBase:
Inheritance graph
[см. легенду]

Открытые члены

 PIEthUtilBase ()
 Создает помощник с выключенным слоем шифрования.
 
 ~PIEthUtilBase ()
 Уничтожает помощник шифрования.
 
void setCryptEnabled (bool on)
 Включает или выключает слой шифрования.
 
void cryptEnable ()
 Включает слой шифрования.
 
void cryptDisable ()
 Выключает слой шифрования.
 
bool isCryptEnabled () const
 Возвращает, включен ли слой шифрования.
 
void setCryptKey (const PIByteArray &k)
 Устанавливает ключ шифрования "k" и включает слой шифрования.
 
void createCryptKey (const PIString &k)
 Генерирует ключ шифрования из парольной фразы "k" и включает слой шифрования.
 
PIByteArray cryptKey () const
 Возвращает текущий ключ шифрования.
 

Открытые статические члены

static size_t cryptSizeAddition ()
 Возвращает дополнительный размер, добавляемый шифрованием.
 

Защищенные члены

PIByteArray cryptData (const PIByteArray &data)
 Шифрует "data", если слой шифрования включен.
 
PIByteArray decryptData (const PIByteArray &data)
 Дешифрует "data", если слой шифрования включен. Подробнее...
 

Подробное описание

Базовый помощник, добавляющий необязательное шифрование пакетов в транспортные утилиты.

Base class for ethernet utils.

Synopsis

PIEthUtilBase provides crypt layer for derived classes: PIStreamPacker and PIBroadcast. All input and output (sended and received) data can be decrypted/encrypted by this layer.

By default crypt layer is disabled.

You can separetely enable it and set ready-to-use key by setCryptEnabled() and setCryptKey(). Or you can use createCryptKey() to generate key from your passphrase and automatic enable crypt layer.

Заметки
To use crypt layer, PIP should be built with crypt module, otherwise your in/out data will be lost.

You can use this class as base for your own classes. Use cryptData() and decryptData() when send and receive your data.

Методы

◆ decryptData()

PIByteArray PIEthUtilBase::decryptData ( const PIByteArray data)
protected

Дешифрует "data", если слой шифрования включен.

Возвращает расшифрованные данные, если слой включен, иначе возвращает неизмененные "data". Если расшифровка неуспешна, возвращает пустой PIByteArray