2 RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
4 Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
7 #ifndef _CHAINWALKSET_H
8 #define _CHAINWALKSET_H
14 unsigned char Hash[MAX_HASH_LEN];
15 //int nHashLen; // Implied
16 uint64* pIndexE; // mapStartPosIndexE, Len = nRainbowChainLen - 1
23 virtual ~CChainWalkSet();
26 string m_sHashRoutineName; // Discard all if not match
27 string m_sPlainCharsetName; // Discard all if not match
28 int m_nPlainLenMin; // Discard all if not match
29 int m_nPlainLenMax; // Discard all if not match
30 int m_nRainbowTableIndex; // Discard all if not match
31 int m_nRainbowChainLen; // Discard all if not match
32 list<ChainWalk> m_lChainWalk;
38 uint64* RequestWalk(unsigned char* pHash, int nHashLen,
39 string sHashRoutineName,
40 string sPlainCharsetName, int nPlainLenMin, int nPlainLenMax,
41 int nRainbowTableIndex,
43 bool& fNewlyGenerated);
44 void DiscardWalk(uint64* pIndexE);