#ifndef _ENCRYPT_ENGINE_H_ #define _ENCRYPT_ENGINE_H_ #include #include "DataCommons.h" #include "xxtea.h" class EncryptEngine { public: //encrypt value of [DataType] type to string std::string encrypt(int number, Jumpeleon::DataType type); //decrypt value with [Save] type int decrypt(std::string tempStr, Jumpeleon::DataType type); //singleton getInstance static EncryptEngine* getInstance(); static void destroyInstance(); private: const xxtea_long keyLen = 8; unsigned char key[8]; static bool init(); static EncryptEngine* instance; //disallow for singleton EncryptEngine() {}; EncryptEngine(const EncryptEngine&) {}; EncryptEngine& operator= (const EncryptEngine&) {}; ~EncryptEngine() { if (instance) destroyInstance(); } }; #endif