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

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

?? shacmp.cpp

?? SHA-1算法的C語言實現(xiàn)
?? CPP
字號:
/*
 *	shacmp.cpp
 *
 *	Copyright (C) 1998
 *	Paul E. Jones <paulej@arid.us>
 *	All Rights Reserved
 *
 *****************************************************************************
 *	$Id: shacmp.cpp,v 1.5 2004/03/27 18:09:09 paulej Exp $
 *****************************************************************************
 *
 *	Description:
 * 		This utility will compare two files by producing a message digest
 * 		for each file using the Secure Hashing Algorithm and comparing
 * 		the message digests.  This function will return 0 if they
 * 		compare or 1 if they do not or if there is an error.
 * 		Errors result in a return code higher than 1.
 *
 *	Portability Issues:
 *		none.
 *
 */

#include <stdio.h>
#include <string.h>
#include "sha1.h"

/*
 *	Return codes
 */
#define SHA1_COMPARE		0
#define SHA1_NO_COMPARE		1
#define SHA1_USAGE_ERROR	2
#define SHA1_FILE_ERROR		3

/*
 *	Function prototype
 */
void usage();

/*	
 *	main
 *
 *	Description:
 *		This is the entry point for the program
 *
 *	Parameters:
 *		argc: [in]
 *			This is the count of arguments in the argv array
 *		argv: [in]
 *			This is an array of filenames for which to compute message digests
 *
 *	Returns:
 *		Nothing.
 *
 *	Comments:
 *
 */
int main(int argc, char *argv[])
{
	SHA1		sha;						// SHA-1 class
	FILE		*fp;						// File pointer for reading files
	char		c;							// Character read from file
	unsigned	message_digest[2][5];		// Message digest for files
	int			i;							// Counter
	bool		message_match;				// Message digest match flag
	int			returncode;

	/*
	 *	If we have two arguments, we will assume they are filenames.  If
	 *	we do not have to arguments, call usage() and exit.
	 */
	if (argc != 3)
	{
		usage();
		return SHA1_USAGE_ERROR;
	}

	/*
	 *	Get the message digests for each file
	 */
	for(i = 1; i <= 2; i++)
	{
		sha.Reset();

		if (!(fp = fopen(argv[i],"rb")))
		{
			fprintf(stderr, "sha: unable to open file %s\n", argv[i]);
			return SHA1_FILE_ERROR;
		}

		c = fgetc(fp);
		while(!feof(fp))
		{
			sha.Input(c);
			c = fgetc(fp);
		}

		fclose(fp);

		if (!sha.Result(message_digest[i-1]))
		{
			fprintf(stderr,"shacmp: could not compute message digest for %s\n",
			  		argv[i]);
			return SHA1_FILE_ERROR;
		}
	}

	/*
	 *	Compare the message digest values
	 */
	message_match = true;
	for(i = 0; i < 5; i++)
	{
		if (message_digest[0][i] != message_digest[1][i])
		{
			message_match = false;
			break;
		}
	}

	if (message_match)
	{
		printf("Fingerprints match:\n");
		returncode = SHA1_COMPARE;
	}
	else
	{
		printf("Fingerprints do not match:\n");
		returncode = SHA1_NO_COMPARE;
	}

	printf(	"\t%08X %08X %08X %08X %08X\n",
			message_digest[0][0],
			message_digest[0][1],
			message_digest[0][2],
			message_digest[0][3],
			message_digest[0][4]);
	printf(	"\t%08X %08X %08X %08X %08X\n",
			message_digest[1][0],
			message_digest[1][1],
			message_digest[1][2],
			message_digest[1][3],
			message_digest[1][4]);

	return returncode;
}

/*	
 *	usage
 *
 *	Description:
 *		This function will display program usage information to the user.
 *
 *	Parameters:
 *		None.
 *
 *	Returns:
 *		Nothing.
 *
 *	Comments:
 *
 */
void usage()
{
	printf("usage: shacmp <file> <file>\n");
	printf("\tThis program will compare the message digests (fingerprints)\n");
	printf("\tfor two files using the Secure Hashing Algorithm (SHA-1).\n");
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美福利视频导航| 99热国产精品| 日韩精品专区在线影院观看| 奇米一区二区三区| 久久影视一区二区| 成人av在线网站| 一区二区三区日本| 91精品国产91久久久久久一区二区| 婷婷综合五月天| 日韩一区和二区| 高清不卡一区二区在线| 一区二区日韩av| 欧美一区二区福利在线| 韩国成人在线视频| 中文字幕一区av| 欧美日韩一区二区欧美激情| 久久精品免费看| 中文字幕在线播放不卡一区| 欧美揉bbbbb揉bbbbb| 韩国成人福利片在线播放| 亚洲视频1区2区| 欧美一级在线观看| av影院午夜一区| 日韩国产一区二| 中文字幕第一区| 欧美高清hd18日本| av在线不卡观看免费观看| 日本在线不卡视频| 国产精品灌醉下药二区| 欧美一区二区在线播放| av福利精品导航| 看片网站欧美日韩| 亚洲一卡二卡三卡四卡无卡久久 | 91浏览器在线视频| 毛片基地黄久久久久久天堂| 国产精品天干天干在线综合| 欧美日韩国产高清一区二区 | 久久99国产精品久久99| 日韩一区欧美一区| 精品国产一区二区三区忘忧草| 99国产精品久久久久久久久久久| 日韩成人一区二区| 亚洲你懂的在线视频| 久久综合久久99| 欧美丰满美乳xxx高潮www| 99久久99久久久精品齐齐| 国产在线播放一区三区四| 午夜欧美一区二区三区在线播放| 国产精品伦理一区二区| 日韩精品一区国产麻豆| 欧美在线免费观看亚洲| 成人精品免费网站| 国产美女在线观看一区| 奇米亚洲午夜久久精品| 亚洲影院在线观看| 国产精品久久777777| 久久综合久久综合九色| 日韩精品一区二区三区swag| 欧美日韩久久一区| 在线观看av一区| 色综合夜色一区| 本田岬高潮一区二区三区| 国产精品中文字幕日韩精品| 免费人成在线不卡| 日韩二区三区四区| 天堂影院一区二区| 亚洲成人激情社区| 亚洲国产精品一区二区www| 亚洲六月丁香色婷婷综合久久| 国产精品色哟哟网站| 国产日产欧美一区二区视频| 精品国产亚洲在线| 欧美一区二区啪啪| 日韩精品一区二区三区中文不卡| 日韩午夜三级在线| 精品久久久久久久久久久久久久久| 欧美男同性恋视频网站| 欧美日本一区二区三区四区| 欧美三级日本三级少妇99| 在线欧美一区二区| 欧美日本精品一区二区三区| 欧美视频在线观看一区| 欧美人牲a欧美精品| 日韩三级精品电影久久久| 日韩午夜av一区| 日韩你懂的电影在线观看| 精品国产亚洲一区二区三区在线观看 | 亚洲欧美怡红院| 一区二区三区免费网站| 亚洲一区在线电影| 日本va欧美va精品| 国产一区二区伦理片| 成人听书哪个软件好| 91免费国产在线| 欧美精品久久久久久久多人混战 | 精品粉嫩超白一线天av| 国产欧美一区视频| 亚洲欧美偷拍卡通变态| 日韩一区精品字幕| 国产精品亚洲视频| 欧美曰成人黄网| 日韩欧美一级二级| 国产欧美一区二区三区鸳鸯浴| 自拍偷拍国产精品| 天堂在线亚洲视频| 国产成人av自拍| 欧美偷拍一区二区| 久久精品视频免费| 一级日本不卡的影视| 久久se精品一区精品二区| 成人av免费网站| 91精品国产综合久久久蜜臀粉嫩| 久久日韩粉嫩一区二区三区| 亚洲欧洲精品一区二区精品久久久| 亚洲综合av网| 国产在线精品免费| 欧美午夜宅男影院| 久久蜜桃香蕉精品一区二区三区| 亚洲一区在线视频| 国产成人鲁色资源国产91色综 | 国产久卡久卡久卡久卡视频精品| 97se亚洲国产综合自在线| 91精品国产综合久久婷婷香蕉| 国产精品久久毛片| 麻豆精品久久精品色综合| av动漫一区二区| 亚洲精品一区二区三区四区高清| 成人欧美一区二区三区白人| 人人爽香蕉精品| 91亚洲午夜精品久久久久久| 精品国产一区二区亚洲人成毛片| 亚洲男女一区二区三区| 国产精华液一区二区三区| 欧美猛男超大videosgay| 中文字幕亚洲视频| 国产一区二区在线观看免费| 欧美日韩一区二区三区高清| 国产精品国产自产拍在线| 国内精品伊人久久久久av一坑 | 天天综合天天综合色| av日韩在线网站| 精品区一区二区| 亚洲自拍偷拍av| 色综合欧美在线视频区| 欧美极品少妇xxxxⅹ高跟鞋| 美女爽到高潮91| 欧美喷潮久久久xxxxx| 亚洲码国产岛国毛片在线| 成人app在线| 久久久www免费人成精品| 精品一区二区av| 91精品国产综合久久精品app| 亚洲精品久久嫩草网站秘色| 成人黄色软件下载| 久久久久久综合| 韩国av一区二区| 欧美不卡一区二区三区| 人人精品人人爱| 日韩女优制服丝袜电影| 日韩电影在线一区二区| 91精品免费观看| 日韩国产欧美在线观看| 欧美日韩国产精品成人| 亚洲国产精品麻豆| 欧美性受xxxx黑人xyx性爽| 曰韩精品一区二区| 欧美私人免费视频| 亚洲一二三区在线观看| 欧美丝袜丝交足nylons图片| 亚洲午夜久久久| 欧美久久久久免费| 日韩电影在线免费观看| 日韩一区二区中文字幕| 久99久精品视频免费观看| 久久一日本道色综合| 国产成人免费在线视频| 国产精品另类一区| 91偷拍与自偷拍精品| 亚洲图片有声小说| 欧美精品免费视频| 国产自产2019最新不卡| 欧美成人一区二区三区| 国产精品羞羞答答xxdd| 国产精品免费视频一区| 色诱视频网站一区| 天堂成人国产精品一区| 久久伊99综合婷婷久久伊| aaa国产一区| 亚洲尤物视频在线| 精品国产一区二区三区不卡| 懂色av噜噜一区二区三区av| 18涩涩午夜精品.www| 欧美日韩一区二区不卡| 久久国产剧场电影| 中文一区二区在线观看| 欧美亚洲国产一区二区三区va| 日韩二区在线观看| 国产精品视频看| 欧美日韩亚州综合| 国产精品一区二区91|