]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/HashRoutine.cpp
(C)
[freerainbowtables] / Client Applications / rcracki_mt / HashRoutine.cpp
index 02fbe71e9dab84f3715bfe857e7ebbcb7d46ab4f..71e9eefa1fc5b0694f0afbcd0257649b11bb4a06 100644 (file)
@@ -1,78 +1,96 @@
-/*
-   RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
-
-   Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
-*/
-
-#ifdef _WIN32
-       #pragma warning(disable : 4786 4267 4018)
-#endif
-
-#include "HashRoutine.h"
-#include "HashAlgorithm.h"
-
-//////////////////////////////////////////////////////////////////////
-
-CHashRoutine::CHashRoutine()
-{
-       // Notice: MIN_HASH_LEN <= nHashLen <= MAX_HASH_LEN
-
-
-       AddHashRoutine("lm",   HashLM,   8);
-       AddHashRoutine("ntlm", HashNTLM, 16);
-       AddHashRoutine("md2",  HashMD2,  16);
-       AddHashRoutine("md4",  HashMD4,  16);
-       AddHashRoutine("md5",  HashMD5,  16);
-       AddHashRoutine("doublemd5",  HashDoubleMD5,  16);
-       AddHashRoutine("sha1", HashSHA1, 20);
-       AddHashRoutine("ripemd160", HashRIPEMD160, 20);
-       AddHashRoutine("mysql323", HashMySQL323, 8);
-       AddHashRoutine("mysqlsha1", HashMySQLSHA1, 20);
-       AddHashRoutine("ciscopix", HashPIX, 16);
-       AddHashRoutine("mscache", HashMSCACHE, 16);
-       AddHashRoutine("halflmchall", HashHALFLMCHALL, 8);
-
-       // Added from mao
-       AddHashRoutine("lmchall", HashLMCHALL, 24);
-       AddHashRoutine("ntlmchall", HashNTLMCHALL, 24);
-       AddHashRoutine("oracle", HashORACLE, 8);
-
-}
-
-CHashRoutine::~CHashRoutine()
-{
-}
-
-void CHashRoutine::AddHashRoutine(string sHashRoutineName, HASHROUTINE pHashRoutine, int nHashLen)
-{
-       vHashRoutineName.push_back(sHashRoutineName);
-       vHashRoutine.push_back(pHashRoutine);
-       vHashLen.push_back(nHashLen);
-}
-
-string CHashRoutine::GetAllHashRoutineName()
-{
-       string sRet;
-       int i;
-       for (i = 0; i < vHashRoutineName.size(); i++)
-               sRet += vHashRoutineName[i] + " ";
-
-       return sRet;
-}
-
-void CHashRoutine::GetHashRoutine(string sHashRoutineName, HASHROUTINE& pHashRoutine, int& nHashLen)
-{
-       int i;
-       for (i = 0; i < vHashRoutineName.size(); i++)
-       {
-               if (sHashRoutineName == vHashRoutineName[i])
-               {
-                       pHashRoutine = vHashRoutine[i];
-                       nHashLen = vHashLen[i];
-                       return;
-               }
-       }
-
-       pHashRoutine = NULL;
-       nHashLen = 0;
-}
+/*\r
+ * rcracki_mt is a multithreaded implementation and fork of the original \r
+ * RainbowCrack\r
+ *\r
+ * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>\r
+ * Copyright Martin Westergaard Jørgensen <martinwj2005@gmail.com>\r
+ * Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>\r
+ * Copyright 2009, 2010, 2011 James Nobis <frt@quelrod.net>\r
+ *\r
+ * This file is part of rcracki_mt.\r
+ *\r
+ * rcracki_mt is free software: you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation, either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * rcracki_mt is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with rcracki_mt.  If not, see <http://www.gnu.org/licenses/>.\r
+ */\r
+\r
+#if defined(_WIN32) && !defined(__GNUC__)\r
+       #pragma warning(disable : 4786)\r
+#endif\r
+\r
+#include "HashRoutine.h"\r
+#include "HashAlgorithm.h"\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+\r
+CHashRoutine::CHashRoutine()\r
+{\r
+       // Notice: MIN_HASH_LEN <= nHashLen <= MAX_HASH_LEN\r
+\r
+\r
+       AddHashRoutine("lm",   HashLM,   8);\r
+       AddHashRoutine("ntlm", HashNTLM, 16);\r
+//     AddHashRoutine("md2",  HashMD2,  16);\r
+       AddHashRoutine("md4",  HashMD4,  16);\r
+       AddHashRoutine("md5",  HashMD5,  16);\r
+       AddHashRoutine("doublemd5",  HashDoubleMD5,  16);\r
+       AddHashRoutine("sha1", HashSHA1, 20);\r
+//     AddHashRoutine("ripemd160", HashRIPEMD160, 20);\r
+       AddHashRoutine("mysql323", HashMySQL323, 8);\r
+       AddHashRoutine("mysqlsha1", HashMySQLSHA1, 20);\r
+       AddHashRoutine("ciscopix", HashPIX, 16);\r
+       AddHashRoutine("mscache", HashMSCACHE, 16);\r
+       AddHashRoutine("halflmchall", HashHALFLMCHALL, 8);\r
+\r
+       // Added from mao\r
+       AddHashRoutine("lmchall", HashLMCHALL, 24);\r
+       AddHashRoutine("ntlmchall", HashNTLMCHALL, 24);\r
+       AddHashRoutine("oracle", HashORACLE, 8);\r
+}\r
+\r
+CHashRoutine::~CHashRoutine()\r
+{\r
+}\r
+\r
+void CHashRoutine::AddHashRoutine(string sHashRoutineName, HASHROUTINE pHashRoutine, int nHashLen)\r
+{\r
+       vHashRoutineName.push_back(sHashRoutineName);\r
+       vHashRoutine.push_back(pHashRoutine);\r
+       vHashLen.push_back(nHashLen);\r
+}\r
+\r
+string CHashRoutine::GetAllHashRoutineName()\r
+{\r
+       string sRet;\r
+       uint32 i;\r
+       for (i = 0; i < vHashRoutineName.size(); i++)\r
+               sRet += vHashRoutineName[i] + " ";\r
+\r
+       return sRet;\r
+}\r
+\r
+void CHashRoutine::GetHashRoutine(string sHashRoutineName, HASHROUTINE& pHashRoutine, int& nHashLen)\r
+{\r
+       uint32 i;\r
+       for (i = 0; i < vHashRoutineName.size(); i++)\r
+       {\r
+               if (sHashRoutineName == vHashRoutineName[i])\r
+               {\r
+                       pHashRoutine = vHashRoutine[i];\r
+                       nHashLen = vHashLen[i];\r
+                       return;\r
+               }\r
+       }\r
+\r
+       pHashRoutine = NULL;\r
+       nHashLen = 0;\r
+}\r