2 RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
4 Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
16 #define INPUT_FILENAME "charset.txt"
17 #define OUTPUT_FILENAME "result"
20 #define uint64 unsigned __int64
22 //#define uint64 u_int64_t
23 #define uint64 unsigned long long
37 unsigned short checkpoint;
47 #define MAX_PLAIN_LEN 256
48 #define MIN_HASH_LEN 8
49 #define MAX_HASH_LEN 256
50 #define MAX_SALT_LEN 256
52 unsigned int GetFileLen(FILE* file);
53 string TrimString(string s);
54 bool ReadLinesFromFile(string sPathName, vector<string>& vLine);
55 bool SeperateString(string s, string sSeperator, vector<string>& vPart);
56 string uint64tostr(uint64 n);
57 string uint64tohexstr(uint64 n);
58 string HexToStr(const unsigned char* pData, int nLen);
59 unsigned int GetAvailPhysMemorySize();
60 void ParseHash(string sHash, unsigned char* pHash, int& nHashLen);
61 bool GetHybridCharsets(string sCharset, vector<tCharset>& vCharset);