]> git.sesse.net Git - freerainbowtables/blob - Client Applications/rcracki_mt/HashAlgorithm.h
c22a04732a5bd235cd3c6ace354b08d5e2e30a19
[freerainbowtables] / Client Applications / rcracki_mt / HashAlgorithm.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 James Nobis <frt@quelrod.net>\r
9  *\r
10  * This file is part of racrcki_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 _HASHALGORITHM_H\r
27 #define _HASHALGORITHM_H\r
28 \r
29 void HashLM(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
30 void HashNTLM(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
31 void HashMD2(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
32 void HashMD4(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
33 void HashMD5(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
34 void HashDoubleMD5(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
35 void HashSHA1(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
36 //void HashRIPEMD160(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
37 void HashMSCACHE(unsigned char *pPlain, int nPlainLen, unsigned char* pHash);\r
38 //****************************************************************************\r
39 // MySQL Password Hashing\r
40 //****************************************************************************\r
41 void HashMySQL323(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
42 void HashMySQLSHA1(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
43 \r
44 //****************************************************************************\r
45 // Cisco PIX Password Hashing\r
46 //****************************************************************************\r
47 void HashPIX(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
48 \r
49 //****************************************************************************\r
50 // (HALF) LM CHALL hashing\r
51 void HashLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
52 void HashHALFLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
53 \r
54 // From mao\r
55 void HashNTLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
56 void HashORACLE(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);\r
57 \r
58 #if !defined(_WIN32) || defined(__GNUC__)\r
59 char *strupr(char *s1);\r
60 #endif\r
61 #endif\r