#include "Includes.h"
enum BlowfishAlgorithm
{
ECB,
CBC,
CFB64,
OFB64,
};
class Blowfish
{
public:
struct bf_key_st
{
unsigned long P[18];
unsigned long S[1024];
};
Blowfish(BlowfishAlgorithm algorithm);
void Dispose();
void SetKey(unsigned char data[]);
unsigned char Encrypt(unsigned char buffer[]);
unsigned char Decrypt(unsigned char buffer[]);
char EncryptIV();
char DecryptIV();
private:
BlowfishAlgorithm _algorithm;
unsigned char _encryptIv[200];
unsigned char _decryptIv[200];
int _encryptNum;
int _decryptNum;
};
class GameCryptography
{
public:
Blowfish _blowfish;
GameCryptography(unsigned char key[]);
void Decrypt(unsigned char packet[]);
void Encrypt(unsigned char packet[]);
Blowfish Blowfish;
void SetKey(unsigned char k[]);
void SetIvs(unsigned char i1[],unsigned char i2[]);
};
GameCryptography::GameCryptography(unsigned char key[])
{
}
Error:IntelliSense: no default constructor exists for class "Blowfish" ???!
<classname> { public: <classname>() = default; }
with default forcing a default constructor for the class. In this case:class Blowfish { Blowfish() = default; }
– Rude