1#ifndef _LIBKVIRIJNDAEL_H_
2#define _LIBKVIRIJNDAEL_H_
31#ifdef COMPILE_CRYPT_SUPPORT
50 Rijndael * m_pEncryptCipher;
51 Rijndael * m_pDecryptCipher;
52 OperationalMode m_bEncryptMode;
53 OperationalMode m_bDecryptMode;
56 bool init(
const char * encKey,
int encKeyLen,
const char * decKey,
int decKeyLen)
override;
61 virtual bool binaryToAscii(
const char *,
int, KviCString &) {
return false; }
62 virtual bool asciiToBinary(
const char *,
int *,
char **) {
return false; }
63 virtual int getKeyLen()
const {
return 32; }
64 virtual Rijndael::KeyLength getKeyLenId()
const {
return Rijndael::Key32Bytes; }
66 void setLastErrorFromRijndaelErrorCode(
int errCode);
69class KviRijndaelHexEngine :
public KviRijndaelEngine
73 KviRijndaelHexEngine() : KviRijndaelEngine(){}
74 ~KviRijndaelHexEngine() =
default;
77 bool binaryToAscii(
const char * inBuffer,
int len, KviCString & outBuffer)
override;
78 bool asciiToBinary(
const char * inBuffer,
int * len,
char ** outBuffer)
override;
81class KviRijndael128HexEngine :
public KviRijndaelHexEngine
85 KviRijndael128HexEngine() : KviRijndaelHexEngine(){}
86 ~KviRijndael128HexEngine() =
default;
89 int getKeyLen()
const override {
return 16; }
90 Rijndael::KeyLength getKeyLenId()
const override {
return Rijndael::Key16Bytes; }
93class KviRijndael192HexEngine :
public KviRijndaelHexEngine
97 KviRijndael192HexEngine() : KviRijndaelHexEngine(){}
98 ~KviRijndael192HexEngine() =
default;
101 int getKeyLen()
const override {
return 24; }
102 Rijndael::KeyLength getKeyLenId()
const override {
return Rijndael::Key24Bytes; }
105class KviRijndael256HexEngine :
public KviRijndaelHexEngine
109 KviRijndael256HexEngine() : KviRijndaelHexEngine(){}
110 ~KviRijndael256HexEngine() =
default;
113 int getKeyLen()
const override {
return 32; }
116class KviRijndaelBase64Engine :
public KviRijndaelEngine
120 KviRijndaelBase64Engine() : KviRijndaelEngine(){}
121 ~KviRijndaelBase64Engine() =
default;
124 bool binaryToAscii(
const char * inBuffer,
int len, KviCString & outBuffer)
override;
125 bool asciiToBinary(
const char * inBuffer,
int * len,
char ** outBuffer)
override;
128class KviRijndael128Base64Engine :
public KviRijndaelBase64Engine
132 KviRijndael128Base64Engine() : KviRijndaelBase64Engine(){}
133 ~KviRijndael128Base64Engine() =
default;
136 int getKeyLen()
const override {
return 16; }
137 Rijndael::KeyLength getKeyLenId()
const override {
return Rijndael::Key16Bytes; }
140class KviRijndael192Base64Engine :
public KviRijndaelBase64Engine
144 KviRijndael192Base64Engine() : KviRijndaelBase64Engine(){}
145 ~KviRijndael192Base64Engine() =
default;
148 int getKeyLen()
const override {
return 24; }
149 Rijndael::KeyLength getKeyLenId()
const override {
return Rijndael::Key24Bytes; }
152class KviRijndael256Base64Engine :
public KviRijndaelBase64Engine
156 KviRijndael256Base64Engine() : KviRijndaelBase64Engine(){}
157 ~KviRijndael256Base64Engine() =
default;
160 int getKeyLen()
const override {
return 32; }
164#define MCPS2_STARTTAG "\xABm\xAB"
165#define MCPS2_ENDTAG "\xBBm\xBB"
171 KviMircryptionEngine();
172 ~KviMircryptionEngine();
175 KviCString m_szEncryptKey;
177 KviCString m_szDecryptKey;
181 bool init(
const char * encKey,
int encKeyLen,
const char * decKey,
int decKeyLen)
override;
186 bool doDecryptECB(KviCString & encoded, KviCString & plain);
187 bool doDecryptCBC(KviCString & encoded, KviCString & plain);
188 bool doEncryptECB(KviCString & plain, KviCString & encoded);
189 bool doEncryptCBC(KviCString & plain, KviCString & encoded);
Definition KviCryptEngine.h:54
EncryptResult
Definition KviCryptEngine.h:68
DecryptResult
Definition KviCryptEngine.h:75
This file contains compile time settings.
int init()
Definition winamp.cpp:118