13d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#ifndef GENERATEPASSWORD_H 23d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define GENERATEPASSWORD_H 33d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 43d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyclass GeneratePassword 53d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby{ 63d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 73d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public: 83d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 93d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby GeneratePassword(); 103d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 113d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby ~GeneratePassword(); 123d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 133d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateClientPasswordKey(char * deviceId); 143d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 153d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateKeyFromDict(char * deviceId, char dict[]); 163d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 173d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateServerPasswordKey(char * deviceId); 183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 193d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateClientPassword(char * deviceId, char * serverId); 203d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 213d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateServerPassword(char * deviceId, char * serverId); 223d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 233d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateClientPassword(); 243d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generateServerPassword(); 263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * encodeDeviceId(char * deviceId); 283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * get36BasedIMEI(char * deviceId); 303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * generatePassword(char * deviceId, char * serverId, char * key); 323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * encodeHex(char data[]); 343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby long long convertChar2Long(char * input); 363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby void shuffle(char & buffer); 383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby void setServerId(const char * sid); 403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby void setIMEI(const char * did); 423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * getIMEI(); 443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * getServerId(); 463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby private: 483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 493d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * serverId; 503d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char * imei; 513d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char clientPasswordDict [15]; 523d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char serverPasswordDict[15]; 533d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby char hexTable[16]; 543d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby int MD5_HASH_LENGTH; 553d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby}; 563d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 573d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif 58