]> git.sesse.net Git - freerainbowtables/blob - Client Applications/rcracki_mt/HashRoutine.h
add 2011 (C)
[freerainbowtables] / Client Applications / rcracki_mt / HashRoutine.h
1 /*\r
2  * rcracki_mt is a multithreaded implementation and fork of the original \r
3  * RainbowCrack\r
4  *\r
5  * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>\r
6  * Copyright Martin Westergaard Jørgensen <martinwj2005@gmail.com>\r
7  * Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>\r
8  * Copyright 2009, 2010, 2011 James Nobis <frt@quelrod.net>\r
9  *\r
10  * This file is part of rcracki_mt.\r
11  *\r
12  * rcracki_mt is free software: you can redistribute it and/or modify\r
13  * it under the terms of the GNU General Public License as published by\r
14  * the Free Software Foundation, either version 2 of the License, or\r
15  * (at your option) any later version.\r
16  *\r
17  * rcracki_mt is distributed in the hope that it will be useful,\r
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
20  * GNU General Public License for more details.\r
21  *\r
22  * You should have received a copy of the GNU General Public License\r
23  * along with rcracki_mt.  If not, see <http://www.gnu.org/licenses/>.\r
24  */\r
25 \r
26 #ifndef _HASHROUTINE_H\r
27 #define _HASHROUTINE_H\r
28 \r
29 #include <string>\r
30 #include <vector>\r
31 \r
32 #include "global.h"\r
33 \r
34 using namespace std;\r
35 \r
36 typedef void (*HASHROUTINE)(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
37 \r
38 class CHashRoutine  \r
39 {\r
40 public:\r
41         CHashRoutine();\r
42         virtual ~CHashRoutine();\r
43 \r
44 private:\r
45         vector<string>          vHashRoutineName;\r
46         vector<HASHROUTINE>     vHashRoutine;\r
47         vector<int>                     vHashLen;\r
48         void AddHashRoutine(string sHashRoutineName, HASHROUTINE pHashRoutine, int nHashLen);\r
49 \r
50 public:\r
51         string GetAllHashRoutineName();\r
52         void GetHashRoutine(string sHashRoutineName, HASHROUTINE& pHashRoutine, int& nHashLen);\r
53 };\r
54 \r
55 #endif\r