]> git.sesse.net Git - freerainbowtables/blob - Client Applications/rcracki/HashSet.h
actually commit everything
[freerainbowtables] / Client Applications / rcracki / HashSet.h
1 /*
2    RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
3
4    Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
5 */
6
7 #ifndef _HASHSET_H
8 #define _HASHSET_H
9
10 #include "Public.h"
11
12 class CHashSet
13 {
14 public:
15         CHashSet();
16         virtual ~CHashSet();
17
18 private:
19         vector<string> m_vHash;
20         vector<bool>   m_vFound;
21         vector<string> m_vPlain;
22         vector<string> m_vBinary;
23
24 public:
25         void AddHash(string sHash);             // lowercase, len % 2 == 0, MIN_HASH_LEN * 2 <= len <= MAX_HASH_LEN * 2
26         bool AnyhashLeft();
27         bool AnyHashLeftWithLen(int nLen);
28         void GetLeftHashWithLen(vector<string>& vHash, int nLen);
29         
30         void SetPlain(string sHash, string sPlain, string sBinary);
31         bool GetPlain(string sHash, string& sPlain, string& sBinary);
32
33         int GetStatHashFound();
34         int GetStatHashTotal();
35 };
36
37 #endif