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

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

?? dirhash.c

?? busybox是一個集成了一百多個最常用linux命令和工具的軟件,在嵌入式linux應用中,busybox有非常廣的應用。
?? C
字號:
/* vi: set sw=4 ts=4: *//* * dirhash.c -- Calculate the hash of a directory entry * * Copyright (c) 2001  Daniel Phillips * * Copyright (c) 2002 Theodore Ts'o. * * %Begin-Header% * This file may be redistributed under the terms of the GNU Public * License. * %End-Header% */#include <stdio.h>#include <string.h>#include "ext2_fs.h"#include "ext2fs.h"/* * Keyed 32-bit hash function using TEA in a Davis-Meyer function *   H0 = Key *   Hi = E Mi(Hi-1) + Hi-1 * * (see Applied Cryptography, 2nd edition, p448). * * Jeremy Fitzhardinge <jeremy@zip.com.au> 1998 * * This code is made available under the terms of the GPL */#define DELTA 0x9E3779B9static void TEA_transform(__u32 buf[4], __u32 const in[]){	__u32	sum = 0;	__u32	b0 = buf[0], b1 = buf[1];	__u32	a = in[0], b = in[1], c = in[2], d = in[3];	int	n = 16;	do {		sum += DELTA;		b0 += ((b1 << 4)+a) ^ (b1+sum) ^ ((b1 >> 5)+b);		b1 += ((b0 << 4)+c) ^ (b0+sum) ^ ((b0 >> 5)+d);	} while(--n);	buf[0] += b0;	buf[1] += b1;}/* F, G and H are basic MD4 functions: selection, majority, parity */#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z))))#define G(x, y, z) (((x) & (y)) + (((x) ^ (y)) & (z)))#define H(x, y, z) ((x) ^ (y) ^ (z))/* * The generic round function.  The application is so specific that * we don't bother protecting all the arguments with parens, as is generally * good macro practice, in favor of extra legibility. * Rotation is separate from addition to prevent recomputation */#define ROUND(f, a, b, c, d, x, s)	\	(a += f(b, c, d) + x, a = (a << s) | (a >> (32-s)))#define K1 0#define K2 013240474631UL#define K3 015666365641UL/* * Basic cut-down MD4 transform.  Returns only 32 bits of result. */static void halfMD4Transform (__u32 buf[4], __u32 const in[]){	__u32	a = buf[0], b = buf[1], c = buf[2], d = buf[3];	/* Round 1 */	ROUND(F, a, b, c, d, in[0] + K1,  3);	ROUND(F, d, a, b, c, in[1] + K1,  7);	ROUND(F, c, d, a, b, in[2] + K1, 11);	ROUND(F, b, c, d, a, in[3] + K1, 19);	ROUND(F, a, b, c, d, in[4] + K1,  3);	ROUND(F, d, a, b, c, in[5] + K1,  7);	ROUND(F, c, d, a, b, in[6] + K1, 11);	ROUND(F, b, c, d, a, in[7] + K1, 19);	/* Round 2 */	ROUND(G, a, b, c, d, in[1] + K2,  3);	ROUND(G, d, a, b, c, in[3] + K2,  5);	ROUND(G, c, d, a, b, in[5] + K2,  9);	ROUND(G, b, c, d, a, in[7] + K2, 13);	ROUND(G, a, b, c, d, in[0] + K2,  3);	ROUND(G, d, a, b, c, in[2] + K2,  5);	ROUND(G, c, d, a, b, in[4] + K2,  9);	ROUND(G, b, c, d, a, in[6] + K2, 13);	/* Round 3 */	ROUND(H, a, b, c, d, in[3] + K3,  3);	ROUND(H, d, a, b, c, in[7] + K3,  9);	ROUND(H, c, d, a, b, in[2] + K3, 11);	ROUND(H, b, c, d, a, in[6] + K3, 15);	ROUND(H, a, b, c, d, in[1] + K3,  3);	ROUND(H, d, a, b, c, in[5] + K3,  9);	ROUND(H, c, d, a, b, in[0] + K3, 11);	ROUND(H, b, c, d, a, in[4] + K3, 15);	buf[0] += a;	buf[1] += b;	buf[2] += c;	buf[3] += d;}#undef ROUND#undef F#undef G#undef H#undef K1#undef K2#undef K3/* The old legacy hash */static ext2_dirhash_t dx_hack_hash (const char *name, int len){	__u32 hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;	while (len--) {		__u32 hash = hash1 + (hash0 ^ (*name++ * 7152373));		if (hash & 0x80000000) hash -= 0x7fffffff;		hash1 = hash0;		hash0 = hash;	}	return (hash0 << 1);}static void str2hashbuf(const char *msg, int len, __u32 *buf, int num){	__u32	pad, val;	int	i;	pad = (__u32)len | ((__u32)len << 8);	pad |= pad << 16;	val = pad;	if (len > num*4)		len = num * 4;	for (i=0; i < len; i++) {		if ((i % 4) == 0)			val = pad;		val = msg[i] + (val << 8);		if ((i % 4) == 3) {			*buf++ = val;			val = pad;			num--;		}	}	if (--num >= 0)		*buf++ = val;	while (--num >= 0)		*buf++ = pad;}/* * Returns the hash of a filename.  If len is 0 and name is NULL, then * this function can be used to test whether or not a hash version is * supported. * * The seed is an 4 longword (32 bits) "secret" which can be used to * uniquify a hash.  If the seed is all zero's, then some default seed * may be used. * * A particular hash version specifies whether or not the seed is * represented, and whether or not the returned hash is 32 bits or 64 * bits.  32 bit hashes will return 0 for the minor hash. */errcode_t ext2fs_dirhash(int version, const char *name, int len,			 const __u32 *seed,			 ext2_dirhash_t *ret_hash,			 ext2_dirhash_t *ret_minor_hash){	__u32	hash;	__u32	minor_hash = 0;	const char	*p;	int		i;	__u32		in[8], buf[4];	/* Initialize the default seed for the hash checksum functions */	buf[0] = 0x67452301;	buf[1] = 0xefcdab89;	buf[2] = 0x98badcfe;	buf[3] = 0x10325476;	/* Check to see if the seed is all zero's */	if (seed) {		for (i=0; i < 4; i++) {			if (seed[i])				break;		}		if (i < 4)			memcpy(buf, seed, sizeof(buf));	}	switch (version) {	case EXT2_HASH_LEGACY:		hash = dx_hack_hash(name, len);		break;	case EXT2_HASH_HALF_MD4:		p = name;		while (len > 0) {			str2hashbuf(p, len, in, 8);			halfMD4Transform(buf, in);			len -= 32;			p += 32;		}		minor_hash = buf[2];		hash = buf[1];		break;	case EXT2_HASH_TEA:		p = name;		while (len > 0) {			str2hashbuf(p, len, in, 4);			TEA_transform(buf, in);			len -= 16;			p += 16;		}		hash = buf[0];		minor_hash = buf[1];		break;	default:		*ret_hash = 0;		return EXT2_ET_DIRHASH_UNSUPP;	}	*ret_hash = hash & ~1;	if (ret_minor_hash)		*ret_minor_hash = minor_hash;	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产免费成人在线视频| 成人h精品动漫一区二区三区| 日本视频一区二区| 国产成人午夜电影网| 欧美久久久久久久久| 久久久精品中文字幕麻豆发布| 亚洲精品一二三| 国产99久久久久| 日韩欧美在线综合网| 亚洲一区二区三区在线看| 国内外成人在线| 欧美一区2区视频在线观看| 亚洲美女偷拍久久| 国产不卡高清在线观看视频| 日韩欧美国产精品一区| 亚洲不卡av一区二区三区| 不卡一区在线观看| 久久久高清一区二区三区| 免费美女久久99| 欧美精品一二三| 亚洲最大成人网4388xx| 北条麻妃国产九九精品视频| 欧美电影免费观看高清完整版在线| 国产精品色婷婷| 国产曰批免费观看久久久| 日韩欧美中文字幕精品| 日韩激情一区二区| 欧美日韩视频一区二区| 亚洲一区二区美女| 91福利在线观看| 亚洲午夜电影在线| 欧美色图天堂网| 亚洲一区二区中文在线| 欧美日韩成人激情| 水蜜桃久久夜色精品一区的特点| 欧美日韩电影一区| 日韩高清在线电影| 欧美成人福利视频| 国产一区三区三区| 久久精品亚洲麻豆av一区二区 | 亚洲成人免费在线观看| 色婷婷综合五月| 一区二区三区**美女毛片| 在线观看三级视频欧美| 亚洲大片精品永久免费| 欧美肥妇free| 国产综合色在线视频区| 国产亚洲欧美一区在线观看| 成人午夜视频免费看| 亚洲免费三区一区二区| 在线观看一区二区视频| 污片在线观看一区二区| 精品国精品自拍自在线| 国产成人在线观看| 亚洲欧美偷拍三级| 4438成人网| 看电影不卡的网站| 欧美国产精品中文字幕| 欧美图区在线视频| 男女视频一区二区| 国产亚洲污的网站| 91免费视频观看| 天堂成人国产精品一区| 欧美va在线播放| 91网址在线看| 麻豆一区二区99久久久久| 国产欧美一区二区精品性| 在线免费不卡视频| 国产自产高清不卡| 亚洲色图色小说| 欧美α欧美αv大片| 一本色道**综合亚洲精品蜜桃冫| 青娱乐精品视频| 亚洲乱码国产乱码精品精98午夜 | 欧美一区永久视频免费观看| 国模大尺度一区二区三区| 一区二区三区在线观看视频 | 日韩一区二区视频在线观看| 99国产精品久| 激情深爱一区二区| 亚洲一卡二卡三卡四卡| 中文字幕精品一区二区精品绿巨人| 欧洲生活片亚洲生活在线观看| 国内不卡的二区三区中文字幕| 亚洲国产毛片aaaaa无费看| 国产丝袜在线精品| 日韩欧美色电影| 欧美日韩免费观看一区二区三区| 国产成人精品午夜视频免费| 偷偷要91色婷婷| 亚洲一线二线三线视频| 国产欧美日韩卡一| 欧美精品一区二区三区很污很色的| 欧美日本在线观看| 色综合久久久久网| av在线一区二区三区| 精品亚洲国产成人av制服丝袜 | 久久综合久久久久88| 欧美精选午夜久久久乱码6080| 国产成人av电影免费在线观看| 美女网站一区二区| 午夜精品福利一区二区三区蜜桃| 日韩一区中文字幕| 国产精品国产三级国产| 久久久不卡网国产精品一区| 精品对白一区国产伦| 欧美成人精品高清在线播放| 91麻豆精品国产| 欧美日韩精品一二三区| 欧美日韩性生活| 欧美中文一区二区三区| 色狠狠桃花综合| 欧美性极品少妇| 欧美亚洲高清一区二区三区不卡| 欧美写真视频网站| 欧美精品在欧美一区二区少妇| 欧美日韩一区二区欧美激情| 欧美日韩国产小视频| 欧美日韩国产不卡| 欧美一级生活片| 26uuu亚洲综合色欧美| 日韩欧美一级二级三级久久久| 欧美电影免费观看高清完整版在 | 欧美精品三级在线观看| 欧美伊人久久大香线蕉综合69| 欧美视频一区在线| 欧美日韩一级二级| 日韩一区二区电影网| 欧美一级专区免费大片| 亚洲精品在线观看网站| 亚洲精品一区二区三区影院 | 91同城在线观看| 欧美亚洲综合一区| 欧美一级理论性理论a| 2021国产精品久久精品| 中文字幕精品—区二区四季| 一区二区三区成人| 日韩激情一区二区| 精品亚洲porn| av成人老司机| 欧美视频在线一区二区三区| 精品日韩99亚洲| **欧美大码日韩| 日韩一区精品视频| 国产精品亚洲专一区二区三区 | 亚洲18色成人| 日本不卡视频一二三区| 国产一区二区三区香蕉 | 欧美一级欧美三级在线观看| 精品国产百合女同互慰| 成人免费在线视频| 美女视频网站久久| 成人精品gif动图一区| 欧美裸体一区二区三区| 精品国产伦理网| 洋洋成人永久网站入口| 国产九色sp调教91| 欧美日韩亚洲高清一区二区| 国产亚洲一区字幕| 天天综合色天天综合色h| 粉嫩13p一区二区三区| 3d成人h动漫网站入口| 国产精品久久久久aaaa| 久久9热精品视频| 欧美性色黄大片| 国产精品护士白丝一区av| 午夜av一区二区三区| 99久久精品国产一区| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲国产精品一区二区久久| 成人综合在线观看| 欧美mv和日韩mv的网站| 亚洲成人动漫在线免费观看| 波多野结衣中文一区| 日韩精品一区二区在线观看| 亚洲成人在线免费| 99re热视频这里只精品| 日本一区二区视频在线| 日韩成人免费在线| 在线免费观看日本欧美| 中文字幕亚洲综合久久菠萝蜜| 国产精品一区三区| 欧美电影免费提供在线观看| 日韩成人精品在线| 欧美日韩电影在线播放| 一区二区视频在线看| av午夜一区麻豆| 国产精品视频你懂的| 福利视频网站一区二区三区| 久久久久久久免费视频了| 狠狠网亚洲精品| 欧美大白屁股肥臀xxxxxx| 美女视频黄久久| 精品精品国产高清一毛片一天堂| 麻豆国产一区二区| 91精品国产91久久久久久最新毛片| 亚洲444eee在线观看| 777午夜精品免费视频| 亚洲成人av一区二区| 欧美日韩一卡二卡|