亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rainbowtablegenerate.cpp

?? 彩虹表 crack-h(huán)ash 破解密碼 。。。。。
?? CPP
字號:
/*
   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)
#endif

#ifdef _WIN32
	#include <windows.h>
#else
	#include <unistd.h>
#endif
#include <time.h>

#include "ChainWalkContext.h"

void Usage()
{
	Logo();

	printf("usage: rtgen hash_algorithm \\\n");
	printf("             plain_charset plain_len_min plain_len_max \\\n");
	printf("             rainbow_table_index \\\n");
	printf("             rainbow_chain_length rainbow_chain_count \\\n");
	printf("             file_title_suffix\n");
	printf("       rtgen hash_algorithm \\\n");
	printf("             plain_charset plain_len_min plain_len_max \\\n");
	printf("             rainbow_table_index \\\n");
	printf("             -bench\n");
	printf("\n");

	CHashRoutine hr;
	printf("hash_algorithm:       available: %s\n", hr.GetAllHashRoutineName().c_str());
	printf("plain_charset:        use any charset name in charset.txt here\n");
	printf("                      use \"byte\" to specify all 256 characters as the charset of the plaintext\n");
	printf("plain_len_min:        min length of the plaintext\n");
	printf("plain_len_max:        max length of the plaintext\n");
	printf("rainbow_table_index:  index of the rainbow table\n");
	printf("rainbow_chain_length: length of the rainbow chain\n");
	printf("rainbow_chain_count:  count of the rainbow chain to generate\n");
	printf("file_title_suffix:    the string appended to the file title\n");
	printf("                      add your comment of the generated rainbow table here\n");
	printf("-bench:               do some benchmark\n");

	printf("\n");
	printf("example: rtgen lm alpha 1 7 0 100 16 test\n");
	printf("         rtgen md5 byte 4 4 0 100 16 test\n");
	printf("         rtgen sha1 numeric 1 10 0 100 16 test\n");
	printf("         rtgen lm alpha 1 7 0 -bench\n");
}

void Bench(string sHashRoutineName, string sCharsetName, int nPlainLenMin, int nPlainLenMax, int nRainbowTableIndex)
{
	// Setup CChainWalkContext
	if (!CChainWalkContext::SetHashRoutine(sHashRoutineName))
	{
		printf("hash routine %s not supported\n", sHashRoutineName.c_str());
		return;
	}
	if (!CChainWalkContext::SetPlainCharset(sCharsetName, nPlainLenMin, nPlainLenMax))
		return;
	if (!CChainWalkContext::SetRainbowTableIndex(nRainbowTableIndex))
	{
		printf("invalid rainbow table index %d\n", nRainbowTableIndex);
		return;
	}

	// Bench hash
	{
	CChainWalkContext cwc;
	cwc.GenerateRandomIndex();
	cwc.IndexToPlain();

	clock_t t1 = clock();
	int nLoop = 2500000;
	int i;
	for (i = 0; i < nLoop; i++)
		cwc.PlainToHash();
	clock_t t2 = clock();
	float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC;

	printf("%s hash speed: %d / s\n", sHashRoutineName.c_str(), int(nLoop / fTime));
	}

	// Bench step
	{
	CChainWalkContext cwc;
	cwc.GenerateRandomIndex();

	clock_t t1 = clock();
	int nLoop = 2500000;
	int i;
	for (i = 0; i < nLoop; i++)
	{
		cwc.IndexToPlain();
		cwc.PlainToHash();
		cwc.HashToIndex(i);
	}
	clock_t t2 = clock();
	float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC;

	printf("%s step speed: %d / s\n", sHashRoutineName.c_str(), int(nLoop / fTime));
	}
}

int main(int argc, char* argv[])
{
	if (argc == 7)
	{
		if (strcmp(argv[6], "-bench") == 0)
		{
			Bench(argv[1], argv[2], atoi(argv[3]), atoi(argv[4]), atoi(argv[5]));
			return 0;
		}
	}

	if (argc != 9)
	{
		Usage();
		return 0;
	}

	string sHashRoutineName  = argv[1];
	string sCharsetName      = argv[2];
	int nPlainLenMin         = atoi(argv[3]);
	int nPlainLenMax         = atoi(argv[4]);
	int nRainbowTableIndex   = atoi(argv[5]);

	int nRainbowChainLen     = atoi(argv[6]);
	int nRainbowChainCount   = atoi(argv[7]);
	string sFileTitleSuffix  = argv[8];

	// nRainbowChainCount check
	if (nRainbowChainCount >= 134217728)
	{
		printf("this will generate a table larger than 2GB, which is not supported\n");
		printf("please use a smaller rainbow_chain_count(less than 134217728)\n");
		return 0;
	}

	// Setup CChainWalkContext
	if (!CChainWalkContext::SetHashRoutine(sHashRoutineName))
	{
		printf("hash routine %s not supported\n", sHashRoutineName.c_str());
		return 0;
	}
	if (!CChainWalkContext::SetPlainCharset(sCharsetName, nPlainLenMin, nPlainLenMax))
		return 0;
	if (!CChainWalkContext::SetRainbowTableIndex(nRainbowTableIndex))
	{
		printf("invalid rainbow table index %d\n", nRainbowTableIndex);
		return 0;
	}
	CChainWalkContext::Dump();

	// Low priority
#ifdef _WIN32
	SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_IDLE);
#else
	nice(19);
#endif

	// FileName
	char szFileName[256];
	sprintf(szFileName, "%s_%s#%d-%d_%d_%dx%d_%s.rt", sHashRoutineName.c_str(),
													  sCharsetName.c_str(),
													  nPlainLenMin,
													  nPlainLenMax,
													  nRainbowTableIndex,
													  nRainbowChainLen,
													  nRainbowChainCount,
													  sFileTitleSuffix.c_str());

	// Open file
	fclose(fopen(szFileName, "a"));
	FILE* file = fopen(szFileName, "r+b");
	if (file == NULL)
	{
		printf("failed to create %s\n", szFileName);
		return 0;
	}

	// Check existing chains
	unsigned int nDataLen = GetFileLen(file);
	nDataLen = nDataLen / 16 * 16;
	if (nDataLen == nRainbowChainCount * 16)
	{
		printf("precomputation of this rainbow table already finished\n");
		fclose(file);
		return 0;
	}
	if (nDataLen > 0)
		printf("continuing from interrupted precomputation...\n");
	fseek(file, nDataLen, SEEK_SET);

	// Generate rainbow table
	printf("generating...\n");
	CChainWalkContext cwc;
	clock_t t1 = clock();
	int i;
	for (i = nDataLen / 16; i < nRainbowChainCount; i++)
	{
		cwc.GenerateRandomIndex();
		uint64 nIndex = cwc.GetIndex();
		if (fwrite(&nIndex, 1, 8, file) != 8)
		{
			printf("disk write fail\n");
			break;
		}

		int nPos;
		for (nPos = 0; nPos < nRainbowChainLen - 1; nPos++)
		{
			cwc.IndexToPlain();
			cwc.PlainToHash();
			cwc.HashToIndex(nPos);
		}

		nIndex = cwc.GetIndex();
		if (fwrite(&nIndex, 1, 8, file) != 8)
		{
			printf("disk write fail\n");
			break;
		}

		if ((i + 1) % 100000 == 0 || i + 1 == nRainbowChainCount)
		{
			clock_t t2 = clock();
			int nSecond = (t2 - t1) / CLOCKS_PER_SEC;
			printf("%d of %d rainbow chains generated (%d m %d s)\n", i + 1,
																	  nRainbowChainCount,
																	  nSecond / 60,
																	  nSecond % 60);
			t1 = clock();
		}
	}

	// Close
	fclose(file);

	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人在线观看| 国产亚洲一区字幕| 一区二区三区在线视频免费观看| 成人开心网精品视频| 国产丝袜美腿一区二区三区| 国产乱子伦视频一区二区三区| 欧美精品一区二区三区很污很色的 | 成人免费看视频| 自拍偷自拍亚洲精品播放| 色先锋资源久久综合| 性做久久久久久| 精品欧美乱码久久久久久| 福利91精品一区二区三区| 亚洲人吸女人奶水| 欧美高清www午色夜在线视频| 另类小说图片综合网| 久久久av毛片精品| 色菇凉天天综合网| 免费观看在线综合| 中文字幕亚洲精品在线观看| 91成人免费电影| 奇米777欧美一区二区| 国产欧美中文在线| 在线观看亚洲专区| 韩国av一区二区三区在线观看| 国产视频911| 欧美日韩免费电影| 国产精一品亚洲二区在线视频| 亚洲欧美另类小说| 555www色欧美视频| 成人sese在线| 日韩国产在线观看一区| 国产精品免费看片| 日韩一卡二卡三卡国产欧美| 波多野结衣视频一区| 午夜精品影院在线观看| 国产精品色眯眯| 欧美一级国产精品| 在线免费av一区| 国产一区二区精品久久91| 亚洲综合激情网| 国产婷婷精品av在线| 91麻豆精品国产91久久久久| av在线播放成人| 极品美女销魂一区二区三区 | 成人免费视频一区| 蜜乳av一区二区| 亚洲人成精品久久久久久 | 6080午夜不卡| 99re视频这里只有精品| 国产一区在线观看麻豆| 偷拍一区二区三区| 亚洲欧美国产77777| 久久新电视剧免费观看| 91麻豆精品国产91久久久资源速度| a4yy欧美一区二区三区| 国产制服丝袜一区| 三级不卡在线观看| 亚洲一区影音先锋| 一区二区三区日韩精品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲天堂网中文字| 国产女人aaa级久久久级| 欧美岛国在线观看| 欧美电影在哪看比较好| 在线中文字幕一区| 99re6这里只有精品视频在线观看| 国产九色sp调教91| 国产激情91久久精品导航| 精品一区二区三区欧美| 日韩成人伦理电影在线观看| 亚洲狠狠爱一区二区三区| 亚洲日韩欧美一区二区在线| 国产精品美女久久久久久久久久久| 欧美电视剧在线看免费| 日韩欧美的一区| 日韩欧美国产综合| 欧美大片在线观看| 日韩视频永久免费| 日韩亚洲欧美在线观看| 欧美高清视频一二三区 | 美女诱惑一区二区| 美腿丝袜亚洲综合| 久久精品国产77777蜜臀| 另类小说视频一区二区| 精品一区二区免费视频| 韩国精品主播一区二区在线观看| 国产九色精品成人porny | 91免费视频观看| 日本韩国精品一区二区在线观看| 日本精品视频一区二区三区| 在线视频中文字幕一区二区| 欧美精选午夜久久久乱码6080| 337p亚洲精品色噜噜狠狠| 欧美一级淫片007| 欧美哺乳videos| 亚洲国产精品ⅴa在线观看| 最新热久久免费视频| 一区二区三区**美女毛片| 天天影视网天天综合色在线播放 | 一区二区三区在线高清| 午夜国产不卡在线观看视频| 极品少妇xxxx偷拍精品少妇| 成人高清视频免费观看| 欧美亚洲动漫精品| 欧美zozo另类异族| 中文字幕一区二区三区在线播放 | 精品美女在线观看| 亚洲欧美怡红院| 亚洲第一综合色| 国产伦精一区二区三区| 91小视频在线免费看| 欧美日韩aaaaaa| 国产亚洲精品福利| 亚洲一区二区视频| 韩国三级在线一区| 日本高清不卡aⅴ免费网站| 538prom精品视频线放| 国产精品久久久久精k8| 五月天激情综合网| 国产成人精品免费视频网站| 欧美在线不卡视频| 久久久www成人免费毛片麻豆| 亚洲一区二区三区不卡国产欧美| 久久精品国产久精国产爱| 91在线视频官网| 精品国产91洋老外米糕| 亚洲综合成人在线| 丁香六月综合激情| 欧美一区二区三区电影| 亚洲女厕所小便bbb| 激情综合网激情| 欧美视频在线播放| 国产精品视频看| 狠狠网亚洲精品| 911精品国产一区二区在线| 国产精品盗摄一区二区三区| 日韩成人免费电影| 91福利国产成人精品照片| 久久久国际精品| 日本不卡一区二区三区高清视频| 91网站最新地址| 久久久精品2019中文字幕之3| 天天av天天翘天天综合网色鬼国产| av亚洲精华国产精华| 欧美成人激情免费网| 日韩av不卡一区二区| 91久久精品国产91性色tv| 国产精品丝袜一区| 黄色日韩网站视频| 欧美成人一区二区| 日韩在线观看一区二区| 欧美午夜视频网站| 亚洲综合视频在线| 一本大道av一区二区在线播放 | 亚洲欧美综合在线精品| 国产剧情av麻豆香蕉精品| 精品国产乱码久久久久久久| 午夜国产精品一区| 69p69国产精品| 日本视频一区二区| 91精品国产综合久久香蕉麻豆| 一区二区三区免费| 99re热视频精品| 亚洲三级免费观看| 色一区在线观看| 亚洲精品免费看| 91九色最新地址| 午夜国产精品影院在线观看| 欧美色男人天堂| 午夜精品爽啪视频| 51久久夜色精品国产麻豆| 日韩电影免费在线| 欧美大片在线观看一区二区| 久久激五月天综合精品| 精品国产99国产精品| 国产福利一区二区三区| 久久久久成人黄色影片| 成人夜色视频网站在线观看| 国产嫩草影院久久久久| 成人短视频下载| 一区二区三区久久| 欧美日韩日日夜夜| 日韩制服丝袜av| 精品99一区二区三区| 国产成人亚洲综合a∨婷婷图片| 国产精品视频在线看| 色噜噜狠狠色综合中国| 亚洲mv在线观看| 欧美大度的电影原声| 国产在线精品一区在线观看麻豆| 国产网站一区二区三区| 91捆绑美女网站| 婷婷久久综合九色国产成人| 日韩免费视频一区二区| 国产一区在线看| 亚洲人成人一区二区在线观看| 欧美精选在线播放| 国产99久久久久久免费看农村| 国产精品视频免费看|