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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? md5.c

?? Calc Software Package for Number Calc
?? C
?? 第 1 頁 / 共 2 頁
字號:
	HH( b, c, d, a, in[ 6], S34,   76029189UL); /* 44 */	HH( a, b, c, d, in[ 9], S31, 3654602809UL); /* 45 */	HH( d, a, b, c, in[12], S32, 3873151461UL); /* 46 */	HH( c, d, a, b, in[15], S33,  530742520UL); /* 47 */	HH( b, c, d, a, in[ 2], S34, 3299628645UL); /* 48 */	/* Round 4 */	II( a, b, c, d, in[ 0], S41, 4096336452UL); /* 49 */	II( d, a, b, c, in[ 7], S42, 1126891415UL); /* 50 */	II( c, d, a, b, in[14], S43, 2878612391UL); /* 51 */	II( b, c, d, a, in[ 5], S44, 4237533241UL); /* 52 */	II( a, b, c, d, in[12], S41, 1700485571UL); /* 53 */	II( d, a, b, c, in[ 3], S42, 2399980690UL); /* 54 */	II( c, d, a, b, in[10], S43, 4293915773UL); /* 55 */	II( b, c, d, a, in[ 1], S44, 2240044497UL); /* 56 */	II( a, b, c, d, in[ 8], S41, 1873313359UL); /* 57 */	II( d, a, b, c, in[15], S42, 4264355552UL); /* 58 */	II( c, d, a, b, in[ 6], S43, 2734768916UL); /* 59 */	II( b, c, d, a, in[13], S44, 1309151649UL); /* 60 */	II( a, b, c, d, in[ 4], S41, 4149444226UL); /* 61 */	II( d, a, b, c, in[11], S42, 3174756917UL); /* 62 */	II( c, d, a, b, in[ 2], S43,  718787259UL); /* 63 */	II( b, c, d, a, in[ 9], S44, 3951481745UL); /* 64 */	digest[0] += a;	digest[1] += b;	digest[2] += c;	digest[3] += d;}/* * MD5_chkpt - checkpoint a MD5 state * * given: *	state	the state to checkpoint * * This function will ensure that the the hash chunk buffer is empty. * Any partially hashed data will be padded out with 0's and hashed. */static voidMD5_chkpt(HASH *state){	MD5_CTX *dig = &state->h_union.h_md5;	/* digest state */#if CALC_BYTE_ORDER == BIG_ENDIAN	int cnt;#endif	/*	 * checkpoint if partial buffer exists	 */	if (dig->datalen > 0) {		/* pad to the end of the chunk */		memset((USB8 *)dig->data + dig->datalen, 0,		       MD5_CHUNKSIZE-dig->datalen);#if CALC_BYTE_ORDER == BIG_ENDIAN		if (state->bytes) {			/* byte swap data into little endian order */			for (cnt=0; cnt < (int)MD5_CHUNKWORDS; ++cnt) {				SWAP_B8_IN_B32(dig->data + cnt,					dig->data + cnt);			}		}#endif		/* transform padded chunk */		MD5Transform((USB32*)dig->digest, dig->data);		MD5COUNT(dig, MD5_CHUNKSIZE-dig->datalen);		/* empty buffer */		dig->datalen = 0;	}}/* * MD5_note - note a special value * * given: *	state		the state to hash *	special		a special value (MD5_HASH_XYZ) to note * * This function will note that a special value is about to be hashed. * Types include negative values, complex values, division, zero numeric * and array of HALFs. */static voidMD5_note(int special, HASH *state){	MD5_CTX *dig = &state->h_union.h_md5;	/* digest state */	unsigned int i;	/*	 * change state to reflect a special value	 */	dig->digest[0] ^= special;	for (i=1; i < MD5_DIGESTWORDS; ++i) {		dig->digest[i] ^= (special + dig->digest[i-1] + i);	}	return;}/* * MD5_type - note a VALUE type * * given: *	state		the state to hash *	type		the VALUE type to note * * This function will note that a type of value is about to be hashed. * The type of a VALUE will be noted.  For purposes of hash comparison, * we will do nothing with V_NUM and V_COM so that the other functions * can hash to the same value regardless of if MD5_value() is called * or not.  We also do nothing with V_STR so that a hash of a string * will produce the same value as the standard hash function. */static voidMD5_type(int type, HASH *state){	MD5_CTX *dig = &state->h_union.h_md5;	/* digest state */	unsigned int i;	/*	 * ignore NUMBER and COMPLEX	 */	if (type == V_NUM || type == V_COM || type == V_STR) {		return;	}	/*	 * change state to reflect a VALUE type	 */	dig->digest[0] += type;	for (i=1; i < MD5_DIGESTWORDS; ++i) {		dig->digest[i] += ((type+i) ^ dig->digest[i-1]);	}	return;}/* * MD5_init_state - initialize a hash state structure for this hash * * given: *	state	- pointer to the hfunction element to initialize */voidMD5_init_state(HASH *state){	/*	 * initalize state	 */	state->hashtype = MD5_HASH_TYPE;	state->bytes = TRUE;	state->update = MD5Update;	state->chkpt = MD5_chkpt;	state->note = MD5_note;	state->type = MD5_type;	state->final = MD5_final_state;	state->cmp = MD5_cmp;	state->print = MD5_print;	state->base = MD5_BASE;	state->chunksize = MD5_CHUNKSIZE;	state->unionsize = sizeof(MD5_CTX);	/*	 * perform the internal init function	 */	memset((void *)&(state->h_union.h_md5), 0, sizeof(MD5_CTX));	MD5Init(state);	return;}/* * MD5_final_state - complete hash state and return a ZVALUE * * given: *	state	the state to complete and convert * * returns: *	a ZVALUE representing the state */static ZVALUEMD5_final_state(HASH *state){	MD5_CTX *dig = &state->h_union.h_md5;		/* digest state */	ZVALUE ret;		/* return ZVALUE of completed hash state */	unsigned int i;	/*	 * malloc and initialize if state is NULL	 */	if (state == NULL) {		state = (HASH *)malloc(sizeof(HASH));		if (state == NULL) {			math_error("cannot malloc HASH");			/*NOTREACHED*/		}		MD5_init_state(state);	}	/*	 * complete the hash state	 */	MD5Final(state);	/*	 * allocate storage for ZVALUE	 */	ret.len = MD5_DIGESTSIZE/sizeof(HALF);	ret.sign = 0;	ret.v = alloc(ret.len);	/*	 * load ZVALUE	 */#if CALC_BYTE_ORDER == LITTLE_ENDIAN && BASEB == 16	for (i = 0; i < MD5_DIGESTSIZE; i += 2) {		SWAP_B8_IN_B16(((USB8 *)dig->digest) + i,			((USB8 *) dig->digest) + i);	}#else	for (i = 0; i < MD5_DIGESTWORDS; ++i) {		SWAP_B8_IN_B32(dig->digest + i, dig->digest + i);	}#endif	for (i=0; i < (unsigned int)ret.len; ++i) {		ret.v[ret.len-i-1] = ((HALF*)dig->digest)[i];	}	ztrim(&ret);	/*	 * return ZVALUE	 */	return ret;}/* * MD5_cmp - compare two hash states * * given: *	a	first hash state *	b	second hash state * * returns: *	TRUE => hash states are different *	FALSE => hash states are the same */static intMD5_cmp(HASH *a, HASH *b){	/*	 * firewall and quick check	 */	if (a == b) {		/* pointers to the same object */		return FALSE;	}	if (a == NULL || b == NULL) {		/* one is NULL, so they differ */		return TRUE;	}	/*	 * compare concat states	 */	if (a->bytes != b->bytes)		return TRUE;	/*	 * compare bit counts	 */	if (a->h_union.h_md5.countLo != b->h_union.h_md5.countLo ||	    a->h_union.h_md5.countHi != b->h_union.h_md5.countHi) {		/* counts differ */		return TRUE;	}	/*	 * compare pending buffers	 */	if (a->h_union.h_md5.datalen != b->h_union.h_md5.datalen) {		/* buffer lengths differ */		return TRUE;	}	if (memcmp((char*)a->h_union.h_md5.data,		   (char*)b->h_union.h_md5.data,		   a->h_union.h_md5.datalen) != 0) {		/* buffer contents differ */		return TRUE;	}	/*	 * compare digest	 */	return (memcmp((char*)(a->h_union.h_md5.digest),		       (char*)(b->h_union.h_md5.digest),		       MD5_DIGESTSIZE) != 0);}/* * MD5_print - print a hash state * * given: *	state	the hash state to print */static voidMD5_print(HASH *state){	/*	 * form the hash value	 */	if (conf->calc_debug & CALCDBG_HASH_STATE) {		char buf[DEBUG_SIZE+1]; /* hash value buffer */		/*		 * print numeric debug value		 *		 * NOTE: This value represents only the hash value as of		 *	 the last full update or finalization.	Thus it		 *	 may NOT be the actual hash value.		 */		sprintf(buf,			"md5: 0x%08x%08x%08x%08x data: %d octets",			(int)state->h_union.h_md5.digest[0],			(int)state->h_union.h_md5.digest[1],			(int)state->h_union.h_md5.digest[2],			(int)state->h_union.h_md5.digest[3],			(int)state->h_union.h_md5.datalen);		math_str(buf);	} else {		math_str("md5 hash state");	}	return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产污网站| 麻豆freexxxx性91精品| 一区二区三区四区国产精品| 麻豆91免费看| 色欧美乱欧美15图片| 久久综合av免费| 亚洲福利一二三区| av网站一区二区三区| 日韩精品一区二区三区在线播放| 亚洲欧洲成人av每日更新| 狠狠色丁香婷综合久久| 欧美疯狂做受xxxx富婆| 日韩毛片高清在线播放| 丰满岳乱妇一区二区三区| 欧美大白屁股肥臀xxxxxx| 亚洲一区二区三区中文字幕在线 | 日韩一区精品字幕| 99re免费视频精品全部| 中文字幕乱码日本亚洲一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 欧美精品高清视频| 午夜精品一区在线观看| 欧美午夜一区二区| 一区二区三区在线观看国产| 波多野结衣一区二区三区| 国产欧美一区二区三区网站 | 9i在线看片成人免费| 亚洲精品一区二区三区99| 日日摸夜夜添夜夜添亚洲女人| 99精品热视频| 亚洲免费观看高清| 色88888久久久久久影院野外| 亚洲日本乱码在线观看| 91麻豆免费看片| 亚洲欧美成人一区二区三区| 99久久精品国产一区| 亚洲人成精品久久久久| 91色porny| 亚洲欧洲日产国产综合网| 99精品在线免费| 亚洲国产中文字幕在线视频综合| 欧美羞羞免费网站| 日韩精品91亚洲二区在线观看| 91精品国产高清一区二区三区| 日本va欧美va瓶| 日韩三级av在线播放| 久久激情五月激情| 国产亚洲一区二区三区在线观看| 成人晚上爱看视频| 一区二区在线看| 欧美一区二区在线播放| 国产精品伊人色| 亚洲人妖av一区二区| 99久久国产免费看| 舔着乳尖日韩一区| 精品sm捆绑视频| 国产黄色精品视频| 成人欧美一区二区三区白人| 欧美日韩性生活| 国产一区二区三区免费播放| 亚洲欧美日韩国产综合| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日韩av电影免费观看高清完整版| 久久综合久久99| 91亚洲精品乱码久久久久久蜜桃 | 日韩美女视频19| 欧美久久久久中文字幕| 国产精品一二三四| 亚洲丶国产丶欧美一区二区三区| 欧美一区二区三区四区久久| 成人午夜短视频| 日韩电影在线一区二区三区| 中文字幕在线观看不卡视频| 欧美一区二区播放| 99re视频精品| 国产精品1区2区| 日韩国产在线观看一区| 久久久久久久久久美女| 欧美中文字幕不卡| 国产成人欧美日韩在线电影| 亚洲福利一二三区| 亚洲天堂网中文字| 久久视频一区二区| 欧美人与禽zozo性伦| 粉嫩av亚洲一区二区图片| 丝袜a∨在线一区二区三区不卡 | 91欧美一区二区| 狠狠色狠狠色综合日日91app| 亚洲电影在线免费观看| 中文字幕一区二区三区在线播放 | 91精品国产综合久久久久久漫画 | 欧美在线色视频| a在线播放不卡| 国产成人精品免费在线| 美女视频免费一区| 午夜影院久久久| 亚洲一区二区三区小说| 亚洲欧美在线观看| 国产亚洲精品7777| 日韩欧美一区在线| 欧美一级视频精品观看| 欧美日韩成人激情| 色94色欧美sute亚洲线路一久| 成人中文字幕合集| 国产黑丝在线一区二区三区| 久久国产三级精品| 美女视频第一区二区三区免费观看网站| 伊人开心综合网| 亚洲六月丁香色婷婷综合久久| 久久女同精品一区二区| 久久这里只精品最新地址| 日韩三级免费观看| 欧美成人三级在线| 日韩欧美在线123| 欧美日韩综合不卡| 欧美日韩一级视频| 91麻豆精品国产自产在线观看一区| 色播五月激情综合网| 91年精品国产| 在线免费观看日本欧美| 色综合久久久久| 欧美日韩日日骚| 欧美日韩免费不卡视频一区二区三区| 欧美三级电影网站| 日韩欧美一级在线播放| 久久久久久综合| 国产精品国产三级国产a| 亚洲三级电影网站| 午夜精品在线视频一区| 欧美a级理论片| 韩国中文字幕2020精品| 国产成人精品免费网站| 91蝌蚪porny| 4438x亚洲最大成人网| 精品少妇一区二区三区免费观看| www国产亚洲精品久久麻豆| 中文字幕第一区二区| 一区二区理论电影在线观看| 欧美a一区二区| 国产suv一区二区三区88区| 色伊人久久综合中文字幕| 在线播放日韩导航| 国产欧美一区二区三区沐欲| 亚洲女同女同女同女同女同69| 三级亚洲高清视频| 国产一区二区看久久| 一本久久综合亚洲鲁鲁五月天 | 热久久一区二区| 国产成人精品免费一区二区| 99久久精品情趣| 91精品国产欧美一区二区18| 欧美韩国日本一区| 日韩影院免费视频| 欧美亚洲动漫精品| 久久亚区不卡日本| 亚洲国产精品欧美一二99| 国产精品一区免费在线观看| 91福利区一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲欧美日韩久久| 国产乱人伦偷精品视频不卡| 欧美亚洲动漫精品| 国产精品丝袜久久久久久app| 丝袜美腿亚洲一区二区图片| 不卡在线视频中文字幕| 欧美一区二区三区在线观看| 亚洲黄色av一区| 国产成人激情av| 日韩一二三区不卡| 一区二区三国产精华液| 成人激情免费电影网址| 精品国产乱码久久久久久影片| 亚洲综合一二三区| 成人禁用看黄a在线| 亚洲精品一区二区三区福利| 三级影片在线观看欧美日韩一区二区| 成人爱爱电影网址| 国产欧美日韩不卡免费| 久久国产精品无码网站| 欧美日本韩国一区二区三区视频| 中文字幕第一区第二区| 国模冰冰炮一区二区| 日韩一区二区三区免费看| 亚洲小说欧美激情另类| 色琪琪一区二区三区亚洲区| 国产精品国模大尺度视频| 精品免费一区二区三区| 欧美亚洲动漫另类| 欧美高清一级片在线| 亚洲色图欧洲色图婷婷| 不卡一区二区在线| 国产欧美一区二区精品婷婷| 国内精品免费**视频| 555www色欧美视频| 喷白浆一区二区| 欧美一区二区私人影院日本| 午夜精品福利久久久| 在线观看一区日韩| 亚洲a一区二区| 欧美日韩免费观看一区二区三区|