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

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

?? sha2.c

?? Minix3.11的源碼。[MINIX 3是一個為高可靠性應用而設計的自由且簡潔的類UNIX系統。]
?? C
?? 第 1 頁 / 共 3 頁
字號:
	s0 = sigma0_256(s0); \	s1 = W256[(j+14)&0x0f]; \	s1 = sigma1_256(s1); \	T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + K256[j] + \	     (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); \	(d) += T1; \	(h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \	j++void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) {	sha2_word32	a, b, c, d, e, f, g, h, s0, s1;	sha2_word32	T1, *W256;	int		j;	W256 = (sha2_word32*)context->buffer;	/* Initialize registers with the prev. intermediate value */	a = context->state[0];	b = context->state[1];	c = context->state[2];	d = context->state[3];	e = context->state[4];	f = context->state[5];	g = context->state[6];	h = context->state[7];	j = 0;	do {		/* Rounds 0 to 15 (unrolled): */		ROUND256_0_TO_15(a,b,c,d,e,f,g,h);		ROUND256_0_TO_15(h,a,b,c,d,e,f,g);		ROUND256_0_TO_15(g,h,a,b,c,d,e,f);		ROUND256_0_TO_15(f,g,h,a,b,c,d,e);		ROUND256_0_TO_15(e,f,g,h,a,b,c,d);		ROUND256_0_TO_15(d,e,f,g,h,a,b,c);		ROUND256_0_TO_15(c,d,e,f,g,h,a,b);		ROUND256_0_TO_15(b,c,d,e,f,g,h,a);	} while (j < 16);	/* Now for the remaining rounds to 64: */	do {		ROUND256(a,b,c,d,e,f,g,h);		ROUND256(h,a,b,c,d,e,f,g);		ROUND256(g,h,a,b,c,d,e,f);		ROUND256(f,g,h,a,b,c,d,e);		ROUND256(e,f,g,h,a,b,c,d);		ROUND256(d,e,f,g,h,a,b,c);		ROUND256(c,d,e,f,g,h,a,b);		ROUND256(b,c,d,e,f,g,h,a);	} while (j < 64);	/* Compute the current intermediate hash value */	context->state[0] += a;	context->state[1] += b;	context->state[2] += c;	context->state[3] += d;	context->state[4] += e;	context->state[5] += f;	context->state[6] += g;	context->state[7] += h;	/* Clean up */	a = b = c = d = e = f = g = h = T1 = 0;}#else /* SHA2_UNROLL_TRANSFORM */void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) {	sha2_word32	a, b, c, d, e, f, g, h, s0, s1;	sha2_word32	T1, T2, *W256;	int		j;	W256 = (sha2_word32*)context->buffer;	/* Initialize registers with the prev. intermediate value */	a = context->state[0];	b = context->state[1];	c = context->state[2];	d = context->state[3];	e = context->state[4];	f = context->state[5];	g = context->state[6];	h = context->state[7];	j = 0;	do {#if SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN		/* Copy data while converting to host byte order */		REVERSE32(*data++,W256[j]);		/* Apply the SHA-256 compression function to update a..h */		T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j];#else /* SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN */		/* Apply the SHA-256 compression function to update a..h with copy */		T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + (W256[j] = *data++);#endif /* SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN */		T2 = Sigma0_256(a) + Maj(a, b, c);		h = g;		g = f;		f = e;		e = d + T1;		d = c;		c = b;		b = a;		a = T1 + T2;		j++;	} while (j < 16);	do {		/* Part of the message block expansion: */		s0 = W256[(j+1)&0x0f];		s0 = sigma0_256(s0);		s1 = W256[(j+14)&0x0f];			s1 = sigma1_256(s1);		/* Apply the SHA-256 compression function to update a..h */		T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + 		     (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0);		T2 = Sigma0_256(a) + Maj(a, b, c);		h = g;		g = f;		f = e;		e = d + T1;		d = c;		c = b;		b = a;		a = T1 + T2;		j++;	} while (j < 64);	/* Compute the current intermediate hash value */	context->state[0] += a;	context->state[1] += b;	context->state[2] += c;	context->state[3] += d;	context->state[4] += e;	context->state[5] += f;	context->state[6] += g;	context->state[7] += h;	/* Clean up */	a = b = c = d = e = f = g = h = T1 = T2 = 0;}#endif /* SHA2_UNROLL_TRANSFORM */void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) {	unsigned int	freespace, usedspace;	if (len == 0) {		/* Calling with no data is valid - we do nothing */		return;	}	/* Sanity check: */	assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0);#if MINIX_64BIT	usedspace= rem64u(context->bitcount, SHA256_BLOCK_LENGTH*8)/8;#else /* !MINIX_64BIT */	usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;#endif /* MINIX_64BIT */	if (usedspace > 0) {		/* Calculate how much free space is available in the buffer */		freespace = SHA256_BLOCK_LENGTH - usedspace;		if (len >= freespace) {			/* Fill the buffer completely and process it */			bcopy(data, &context->buffer[usedspace], freespace);#if MINIX_64BIT			context->bitcount= add64u(context->bitcount,				freespace << 3);#else /* !MINIX_64BIT */			context->bitcount += freespace << 3;#endif /* MINIX_64BIT */			len -= freespace;			data += freespace;			SHA256_Transform(context, (sha2_word32*)context->buffer);		} else {			/* The buffer is not yet full */			bcopy(data, &context->buffer[usedspace], len);#if MINIX_64BIT			context->bitcount= add64u(context->bitcount, len << 3);#else /* !MINIX_64BIT */			context->bitcount += len << 3;#endif /* MINIX_64BIT */			/* Clean up: */			usedspace = freespace = 0;			return;		}	}	while (len >= SHA256_BLOCK_LENGTH) {		/* Process as many complete blocks as we can */		SHA256_Transform(context, (const sha2_word32*)data);#if MINIX_64BIT		context->bitcount= add64u(context->bitcount,			SHA256_BLOCK_LENGTH << 3);#else /* !MINIX_64BIT */		context->bitcount += SHA256_BLOCK_LENGTH << 3;#endif /* MINIX_64BIT */		len -= SHA256_BLOCK_LENGTH;		data += SHA256_BLOCK_LENGTH;	}	if (len > 0) {		/* There's left-overs, so save 'em */		bcopy(data, context->buffer, len);#if MINIX_64BIT		context->bitcount= add64u(context->bitcount, len << 3);#else /* !MINIX_64BIT */		context->bitcount += len << 3;#endif /* MINIX_64BIT */	}	/* Clean up: */	usedspace = freespace = 0;}void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {	sha2_word32	*d = (sha2_word32*)digest;	unsigned int	usedspace;	/* Sanity check: */	assert(context != (SHA256_CTX*)0);	/* If no digest buffer is passed, we don't bother doing this: */	if (digest != (sha2_byte*)0) {#if MINIX_64BIT		usedspace= rem64u(context->bitcount, SHA256_BLOCK_LENGTH*8)/8;#else /* !MINIX_64BIT */		usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;#endif /* MINIX_64BIT */#if SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN		/* Convert FROM host byte order */		REVERSE64(context->bitcount,context->bitcount);#endif		if (usedspace > 0) {			/* Begin padding with a 1 bit: */			context->buffer[usedspace++] = 0x80;			if (usedspace <= SHA256_SHORT_BLOCK_LENGTH) {				/* Set-up for the last transform: */				bzero(&context->buffer[usedspace], SHA256_SHORT_BLOCK_LENGTH - usedspace);			} else {				if (usedspace < SHA256_BLOCK_LENGTH) {					bzero(&context->buffer[usedspace], SHA256_BLOCK_LENGTH - usedspace);				}				/* Do second-to-last transform: */				SHA256_Transform(context, (sha2_word32*)context->buffer);				/* And set-up for the last transform: */				bzero(context->buffer, SHA256_SHORT_BLOCK_LENGTH);			}		} else {			/* Set-up for the last transform: */			bzero(context->buffer, SHA256_SHORT_BLOCK_LENGTH);			/* Begin padding with a 1 bit: */			*context->buffer = 0x80;		}		/* Set the bit count: */		*(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;		/* Final transform: */		SHA256_Transform(context, (sha2_word32*)context->buffer);#if SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN		{			/* Convert TO host byte order */			int	j;			for (j = 0; j < 8; j++) {				REVERSE32(context->state[j],context->state[j]);				*d++ = context->state[j];			}		}#else		bcopy(context->state, d, SHA256_DIGEST_LENGTH);#endif	}	/* Clean up state data: */	bzero(context, sizeof(context));	usedspace = 0;}char *SHA256_End(SHA256_CTX* context, char buffer[]) {	sha2_byte	digest[SHA256_DIGEST_LENGTH], *d = digest;	int		i;	/* Sanity check: */	assert(context != (SHA256_CTX*)0);	if (buffer != (char*)0) {		SHA256_Final(digest, context);		for (i = 0; i < SHA256_DIGEST_LENGTH; i++) {			*buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];			*buffer++ = sha2_hex_digits[*d & 0x0f];			d++;		}		*buffer = (char)0;	} else {		bzero(context, sizeof(context));	}	bzero(digest, SHA256_DIGEST_LENGTH);	return buffer;}char* SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH]) {	SHA256_CTX	context;	SHA256_Init(&context);	SHA256_Update(&context, data, len);	return SHA256_End(&context, digest);}#if !NO_64BIT/*** SHA-512: *********************************************************/void SHA512_Init(SHA512_CTX* context) {	if (context == (SHA512_CTX*)0) {		return;	}	bcopy(sha512_initial_hash_value, context->state, SHA512_DIGEST_LENGTH);	bzero(context->buffer, SHA512_BLOCK_LENGTH);	context->bitcount[0] = context->bitcount[1] =  0;}#ifdef SHA2_UNROLL_TRANSFORM/* Unrolled SHA-512 round macros: */#if SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h)	\	REVERSE64(*data++, W512[j]); \	T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \             K512[j] + W512[j]; \	(d) += T1, \	(h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)), \	j++#else /* SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN */#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h)	\	T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \             K512[j] + (W512[j] = *data++); \	(d) += T1; \	(h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \	j++#endif /* SHA2_BYTE_ORDER == SHA2_LITTLE_ENDIAN */#define ROUND512(a,b,c,d,e,f,g,h)	\	s0 = W512[(j+1)&0x0f]; \	s0 = sigma0_512(s0); \	s1 = W512[(j+14)&0x0f]; \	s1 = sigma1_512(s1); \	T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + K512[j] + \             (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \	(d) += T1; \	(h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \	j++void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99在线观看| 樱花草国产18久久久久| 欧美性猛片aaaaaaa做受| 粉嫩绯色av一区二区在线观看| 亚洲国产精品天堂| 午夜欧美电影在线观看| 午夜精品影院在线观看| 首页国产欧美日韩丝袜| 日韩电影免费一区| 天堂一区二区在线免费观看| 亚洲国产一区在线观看| 天堂资源在线中文精品| 日韩av电影天堂| 久久国产精品区| 国产精品亚洲一区二区三区妖精| 国产美女久久久久| 91成人看片片| 欧美午夜视频网站| 91.麻豆视频| 26uuu亚洲综合色| 国产精品免费视频一区| 专区另类欧美日韩| 午夜精品久久久久久久久久| 日本麻豆一区二区三区视频| 久久99九九99精品| 成人激情校园春色| 欧美图区在线视频| 欧美va亚洲va国产综合| 国产精品伦理一区二区| 夜夜嗨av一区二区三区四季av | 奇米色一区二区三区四区| 奇米色一区二区三区四区| 国内久久精品视频| 91丝袜高跟美女视频| 欧美一区二区精品久久911| 久久综合精品国产一区二区三区| 中文字幕在线不卡一区| 日韩综合一区二区| 成人高清伦理免费影院在线观看| 欧美性videosxxxxx| 欧美zozozo| 一区二区三区欧美视频| 国产自产视频一区二区三区| 91色porny在线视频| 精品国产欧美一区二区| 亚洲国产一二三| 国产精品一级二级三级| 欧美精品在欧美一区二区少妇| 精品成人私密视频| 五月婷婷综合在线| 91网站在线观看视频| 精品国产精品网麻豆系列 | 欧美综合在线视频| 日本一区免费视频| 麻豆精品在线观看| 欧美日韩精品欧美日韩精品一| 中文字幕+乱码+中文字幕一区| 日本亚洲欧美天堂免费| 色婷婷香蕉在线一区二区| 久久久亚洲综合| 免费成人在线观看| 欧美日本一道本在线视频| 亚洲精品一二三| www.亚洲国产| 中文欧美字幕免费| 国产成人一区二区精品非洲| 制服视频三区第一页精品| 亚洲精品高清视频在线观看| 成人午夜视频在线| 国产日产欧美一区二区视频| 另类综合日韩欧美亚洲| 久久久精品蜜桃| 日韩不卡一区二区三区| 欧美三级韩国三级日本一级| 日韩美女视频一区二区| 99视频一区二区| 国产精品视频观看| 国产成人午夜99999| 国产亚洲成年网址在线观看| 狠狠网亚洲精品| 26uuu国产电影一区二区| 久久99精品久久久久久久久久久久 | 欧美日韩免费观看一区二区三区| 亚洲人成7777| 欧美在线一区二区| 亚洲高清免费观看| 777午夜精品视频在线播放| 日韩—二三区免费观看av| 欧美一级在线视频| 精品一区二区影视| 国产日韩精品一区| 99精品久久只有精品| 亚洲一区在线观看免费观看电影高清 | 欧美一级二级三级蜜桃| 九九精品一区二区| 欧美激情在线免费观看| 91黄视频在线| 免费成人av在线播放| 久久综合给合久久狠狠狠97色69| 国产一本一道久久香蕉| 亚洲欧美日韩国产成人精品影院| 欧美亚洲动漫另类| 国内成+人亚洲+欧美+综合在线| 国产亚洲1区2区3区| 91福利国产精品| 免费观看在线色综合| 国产午夜精品福利| 欧美在线你懂得| av在线一区二区| 天天色图综合网| 中文字幕免费一区| 欧美久久久久久蜜桃| 国产成人激情av| 亚洲一区二区三区自拍| 精品国产第一区二区三区观看体验 | 日本va欧美va欧美va精品| 久久久久综合网| 欧美日韩精品一区二区三区四区 | 2023国产精华国产精品| 色综合视频一区二区三区高清| 日本在线不卡一区| 亚洲视频一二区| 亚洲精品一区二区三区福利| 91美女在线看| 国产91精品免费| 日韩av不卡在线观看| 亚洲人成精品久久久久| 久久色.com| 91精品国产乱码| 日本道色综合久久| 成人做爰69片免费看网站| 日本不卡的三区四区五区| 最新高清无码专区| 中文字幕第一区| 久久综合九色综合97婷婷| 91精品国产手机| 欧美三级电影在线看| 91免费看片在线观看| 国产a久久麻豆| 免费观看91视频大全| 亚洲电影激情视频网站| 亚洲欧洲日韩综合一区二区| 国产精品家庭影院| 欧美成人福利视频| 欧美一区二区在线观看| 欧美色综合网站| 色综合天天综合网天天看片| 成人aa视频在线观看| 精品亚洲porn| 青青草97国产精品免费观看 | 91精品综合久久久久久| 欧美日韩一区不卡| 在线免费观看一区| 日本高清不卡视频| 色婷婷av久久久久久久| 99在线视频精品| 色天天综合色天天久久| 91在线观看一区二区| 99国产精品久久久久久久久久久| 成人一区二区视频| 成人av免费观看| 91丨九色porny丨蝌蚪| 色综合色综合色综合色综合色综合 | 亚洲欧洲制服丝袜| 亚洲欧洲国产专区| 日韩毛片精品高清免费| 亚洲欧美日韩综合aⅴ视频| 亚洲精品老司机| 亚洲高清视频的网址| 蜜臀久久99精品久久久久宅男| 久久国产乱子精品免费女| 国产成a人亚洲精品| 91丝袜美腿高跟国产极品老师 | 极品少妇一区二区| 成人动漫一区二区在线| 91精品国产色综合久久不卡电影 | 免费黄网站欧美| 国产乱人伦偷精品视频不卡| 成人免费视频网站在线观看| 91黄视频在线| 日韩免费观看高清完整版| 久久久久久久综合色一本| 成人欧美一区二区三区白人 | 91精品国产综合久久久久久漫画| 欧美一区二区三区四区在线观看| 久久夜色精品国产欧美乱极品| 国产精品久久久久aaaa樱花| 亚洲图片欧美综合| 国产精品一品二品| 欧美亚洲动漫精品| 久久久久久亚洲综合影院红桃| 亚洲免费在线播放| 国产一区二区福利视频| 在线日韩一区二区| 久久久国产综合精品女国产盗摄| 亚洲日本在线观看| 精品一区二区综合| 在线亚洲人成电影网站色www| 日韩欧美国产一区二区三区| 17c精品麻豆一区二区免费|