PIP  1.8.0
Platform-Independent Primitives
PIEthUtilBase Class Reference

Base class for ethernet utils. More...

Inheritance diagram for PIEthUtilBase:

Public Member Functions

void setCryptEnabled (bool on)
 Set crypt layer enabled.
 
void cryptEnable ()
 Enable crypt layer.
 
void cryptDisable ()
 Disable crypt layer.
 
bool isCryptEnabled () const
 Returns if crypt layer enabled.
 
void setCryptKey (const PIByteArray &k)
 Set crypt layer key to "k".
 
void createCryptKey (const PIString &k)
 
PIByteArray cryptKey () const
 Returns crypt layer key.
 

Protected Member Functions

PIByteArray cryptData (const PIByteArray &data)
 Returns encrypted data if layer enabled, otherwise returns unchanged "data".
 
PIByteArray decryptData (const PIByteArray &data)
 Returns decrypted data if layer enabled, otherwise returns unchanged "data". If decryption was unsuccessfull returns empty PIByteArray.
 

Detailed Description

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.

Note
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.

Member Function Documentation

◆ createCryptKey()

void PIEthUtilBase::createCryptKey ( const PIString k)

Generate crypt layer key by PICrypt::hash and set crypt layer enabled