Loading...
Searching...
No Matches
BlowFish Class Reference

BlowFish encryption class. More...

#include <juce_BlowFish.h>

Public Member Functions

 BlowFish (const void *keyData, int keyBytes)
 Creates an object that can encode/decode based on the specified key.
 
 BlowFish (const BlowFish &)
 Creates a copy of another blowfish object.
 
BlowFishoperator= (const BlowFish &) noexcept
 Copies another blowfish object.
 
 ~BlowFish () noexcept
 Destructor.
 
void encrypt (uint32 &data1, uint32 &data2) const noexcept
 Encrypts a pair of 32-bit integers.
 
void decrypt (uint32 &data1, uint32 &data2) const noexcept
 Decrypts a pair of 32-bit integers.
 
void encrypt (MemoryBlock &data) const
 Encrypts a memory block.
 
void decrypt (MemoryBlock &data) const
 Decrypts a memory block.
 
int encrypt (void *buffer, size_t sizeOfMsg, size_t bufferSize) const noexcept
 Encrypts data in-place.
 
int decrypt (void *buffer, size_t bytes) const noexcept
 Decrypts data in-place.
 

Detailed Description

BlowFish encryption class.

Constructor & Destructor Documentation

◆ BlowFish() [1/2]

BlowFish::BlowFish ( const void * keyData,
int keyBytes )

Creates an object that can encode/decode based on the specified key.

The key data can be up to 72 bytes long.

◆ BlowFish() [2/2]

BlowFish::BlowFish ( const BlowFish & )

Creates a copy of another blowfish object.

◆ ~BlowFish()

BlowFish::~BlowFish ( )
noexcept

Destructor.

Member Function Documentation

◆ operator=()

BlowFish & BlowFish::operator= ( const BlowFish & )
noexcept

Copies another blowfish object.

◆ encrypt() [1/3]

void BlowFish::encrypt ( uint32 & data1,
uint32 & data2 ) const
noexcept

Encrypts a pair of 32-bit integers.

◆ decrypt() [1/3]

void BlowFish::decrypt ( uint32 & data1,
uint32 & data2 ) const
noexcept

Decrypts a pair of 32-bit integers.

◆ encrypt() [2/3]

void BlowFish::encrypt ( MemoryBlock & data) const

Encrypts a memory block.

◆ decrypt() [2/3]

void BlowFish::decrypt ( MemoryBlock & data) const

Decrypts a memory block.

◆ encrypt() [3/3]

int BlowFish::encrypt ( void * buffer,
size_t sizeOfMsg,
size_t bufferSize ) const
noexcept

Encrypts data in-place.

Parameters
bufferThe message that should be encrypted. See bufferSize on size requirements!
sizeOfMsgThe size of the message that should be encrypted in bytes
bufferSizeThe size of the buffer in bytes. To accommodate the encrypted data, the buffer must be larger than the message: the size of the buffer needs to be equal or greater than the size of the message in bytes rounded to the next integer which is divisible by eight. If the message size in bytes is already divisible by eight then you need to add eight bytes to the buffer size. If in doubt simply use bufferSize = sizeOfMsg + 8.
Returns
The size of the decrypted data in bytes or -1 if the decryption failed.

◆ decrypt() [3/3]

int BlowFish::decrypt ( void * buffer,
size_t bytes ) const
noexcept

Decrypts data in-place.

Parameters
bufferThe encrypted data that should be decrypted
bytesThe size of the encrypted data in bytes
Returns
The size of the decrypted data in bytes or -1 if the decryption failed.

The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram