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

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

?? sha_func.c

?? CryptoExtensions1.0 for Java源代碼
?? C
字號:
/* NIST Secure Hash Algorithm *//* heavily modified by Uwe Hollerbach uh@alumni.caltech edu *//* from Peter C. Gutmann's implementation as found in *//* Applied Cryptography by Bruce Schneier */#include <string.h>#include "sha.h"/* a bit faster & bigger, if defined */#define UNROLL_LOOPS/* NIST's proposed modification to SHA of 7/11/94 may be *//* activated by defining USE_MODIFIED_SHA; leave it off for now */#undef USE_MODIFIED_SHA/* SHA f()-functions */#define f1(x,y,z)	((x & y) | (~x & z))#define f2(x,y,z)	(x ^ y ^ z)#define f3(x,y,z)	((x & y) | (x & z) | (y & z))#define f4(x,y,z)	(x ^ y ^ z)/* SHA constants */#define CONST1		0x5a827999L#define CONST2		0x6ed9eba1L#define CONST3		0x8f1bbcdcL#define CONST4		0xca62c1d6L/* 32-bit rotate */#define ROT32(x,n)	((x << n) | (x >> (32 - n)))#define FUNC(n,i)						\    temp = ROT32(A,5) + f##n(B,C,D) + E + W[i] + CONST##n;	\    E = D; D = C; C = ROT32(B,30); B = A; A = temp/* do SHA transformation */static void sha_transform(SHA_INFO *sha_info){    int i;    unsigned long temp, A, B, C, D, E, W[80];    for (i = 0; i < 16; ++i) {	W[i] = sha_info->data[i];    }    for (i = 16; i < 80; ++i) {	W[i] = W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16];#ifdef USE_MODIFIED_SHA	W[i] = ROT32(W[i], 1);#endif /* USE_MODIFIED_SHA */    }    A = sha_info->digest[0];    B = sha_info->digest[1];    C = sha_info->digest[2];    D = sha_info->digest[3];    E = sha_info->digest[4];#ifdef UNROLL_LOOPS    FUNC(1, 0);  FUNC(1, 1);  FUNC(1, 2);  FUNC(1, 3);  FUNC(1, 4);    FUNC(1, 5);  FUNC(1, 6);  FUNC(1, 7);  FUNC(1, 8);  FUNC(1, 9);    FUNC(1,10);  FUNC(1,11);  FUNC(1,12);  FUNC(1,13);  FUNC(1,14);    FUNC(1,15);  FUNC(1,16);  FUNC(1,17);  FUNC(1,18);  FUNC(1,19);    FUNC(2,20);  FUNC(2,21);  FUNC(2,22);  FUNC(2,23);  FUNC(2,24);    FUNC(2,25);  FUNC(2,26);  FUNC(2,27);  FUNC(2,28);  FUNC(2,29);    FUNC(2,30);  FUNC(2,31);  FUNC(2,32);  FUNC(2,33);  FUNC(2,34);    FUNC(2,35);  FUNC(2,36);  FUNC(2,37);  FUNC(2,38);  FUNC(2,39);    FUNC(3,40);  FUNC(3,41);  FUNC(3,42);  FUNC(3,43);  FUNC(3,44);    FUNC(3,45);  FUNC(3,46);  FUNC(3,47);  FUNC(3,48);  FUNC(3,49);    FUNC(3,50);  FUNC(3,51);  FUNC(3,52);  FUNC(3,53);  FUNC(3,54);    FUNC(3,55);  FUNC(3,56);  FUNC(3,57);  FUNC(3,58);  FUNC(3,59);    FUNC(4,60);  FUNC(4,61);  FUNC(4,62);  FUNC(4,63);  FUNC(4,64);    FUNC(4,65);  FUNC(4,66);  FUNC(4,67);  FUNC(4,68);  FUNC(4,69);    FUNC(4,70);  FUNC(4,71);  FUNC(4,72);  FUNC(4,73);  FUNC(4,74);    FUNC(4,75);  FUNC(4,76);  FUNC(4,77);  FUNC(4,78);  FUNC(4,79);#else /* !UNROLL_LOOPS */    for (i = 0; i < 20; ++i) {	FUNC(1,i);    }    for (i = 20; i < 40; ++i) {	FUNC(2,i);    }    for (i = 40; i < 60; ++i) {	FUNC(3,i);    }    for (i = 60; i < 80; ++i) {	FUNC(4,i);    }#endif /* !UNROLL_LOOPS */    sha_info->digest[0] += A;    sha_info->digest[1] += B;    sha_info->digest[2] += C;    sha_info->digest[3] += D;    sha_info->digest[4] += E;}#ifdef LITTLE_ENDIAN/* change endianness of data */static void maybe_byte_reverse(unsigned long *buffer, int count){    int i;    unsigned char ct[4], *cp;    count /= sizeof(unsigned long);    cp = (unsigned char *) buffer;    for (i = 0; i < count; ++i) {	ct[0] = cp[0];	ct[1] = cp[1];	ct[2] = cp[2];	ct[3] = cp[3];	cp[0] = ct[3];	cp[1] = ct[2];	cp[2] = ct[1];	cp[3] = ct[0];	cp += sizeof(unsigned long);    }}#else /* !LITTLE_ENDIAN */#define maybe_byte_reverse(a,b)	/* do nothing */#endif /* LITTLE_ENDIAN *//* initialize the SHA digest */void sha_init(SHA_INFO *sha_info){    sha_info->digest[0] = 0x67452301L;    sha_info->digest[1] = 0xefcdab89L;    sha_info->digest[2] = 0x98badcfeL;    sha_info->digest[3] = 0x10325476L;    sha_info->digest[4] = 0xc3d2e1f0L;    sha_info->count_lo = 0L;    sha_info->count_hi = 0L;    sha_info->local = 0;}/* update the SHA digest */void sha_update(SHA_INFO *sha_info, unsigned char *buffer, int count){    int i;    if ((sha_info->count_lo + ((unsigned long) count << 3)) < sha_info->count_lo) {	++sha_info->count_hi;    }    sha_info->count_lo += (unsigned long) count << 3;    sha_info->count_hi += (unsigned long) count >> 29;    if (sha_info->local) {	i = SHA_BLOCKSIZE - sha_info->local;	if (i > count) {	    i = count;	}	memcpy(((unsigned char *) sha_info->data) + sha_info->local, buffer, i);	count -= i;	buffer += i;	sha_info->local += i;	if (sha_info->local == SHA_BLOCKSIZE) {	    maybe_byte_reverse(sha_info->data, SHA_BLOCKSIZE);	    sha_transform(sha_info);	} else {	    return;	}    }    while (count >= SHA_BLOCKSIZE) {	memcpy(sha_info->data, buffer, SHA_BLOCKSIZE);	buffer += SHA_BLOCKSIZE;	count -= SHA_BLOCKSIZE;	maybe_byte_reverse(sha_info->data, SHA_BLOCKSIZE);	sha_transform(sha_info);    }    memcpy(sha_info->data, buffer, count);    sha_info->local = count;}/* finish computing the SHA digest */void sha_final(SHA_INFO *sha_info){    int count;    unsigned long lo_bit_count, hi_bit_count;    lo_bit_count = sha_info->count_lo;    hi_bit_count = sha_info->count_hi;    count = (int) ((lo_bit_count >> 3) & 0x3f);    ((unsigned char *) sha_info->data)[count++] = 0x80;    if (count > SHA_BLOCKSIZE - 8) {	memset(((unsigned char *) sha_info->data) + count, 0, SHA_BLOCKSIZE - count);	maybe_byte_reverse(sha_info->data, SHA_BLOCKSIZE);	sha_transform(sha_info);	memset((unsigned char *) sha_info->data, 0, SHA_BLOCKSIZE - 8);    } else {	memset(((unsigned char *) sha_info->data) + count, 0,	    SHA_BLOCKSIZE - 8 - count);    }    maybe_byte_reverse(sha_info->data, SHA_BLOCKSIZE);    sha_info->data[14] = hi_bit_count;    sha_info->data[15] = lo_bit_count;    sha_transform(sha_info);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一二三四在线| 97成人超碰视| 日韩视频在线一区二区| 五月婷婷另类国产| 日韩久久久精品| 国产精品一区二区久久精品爱涩| 久久精品人人做人人综合| 国产成人av在线影院| 中文字幕一区二区三区在线播放| 色老综合老女人久久久| 天天色综合天天| 久久综合网色—综合色88| 国产一区二区三区不卡在线观看| 国产亚洲午夜高清国产拍精品| jlzzjlzz国产精品久久| 亚洲午夜一二三区视频| 精品国产sm最大网站免费看| 成人一二三区视频| 亚洲观看高清完整版在线观看| 欧美成人a∨高清免费观看| 成人97人人超碰人人99| 天堂在线一区二区| 国产午夜精品一区二区三区四区| 91在线你懂得| 美国毛片一区二区三区| 国产精品热久久久久夜色精品三区| 一本在线高清不卡dvd| 麻豆91免费观看| 亚洲欧洲一区二区在线播放| 91精品国产综合久久久久久| 国产成人午夜电影网| 天天综合天天综合色| 国产日韩av一区| 3atv在线一区二区三区| 成+人+亚洲+综合天堂| 亚洲不卡av一区二区三区| 国产欧美一区二区在线| 欧美一区二区三区公司| 91在线观看成人| 国产一区二区在线看| 亚洲国产精品尤物yw在线观看| 久久精品男人天堂av| 91.com在线观看| 成人精品视频网站| 捆绑调教美女网站视频一区| 亚洲人成小说网站色在线| 精品国产成人系列| 3atv在线一区二区三区| 91视频www| 高清av一区二区| 久久成人综合网| 午夜精品福利一区二区蜜股av| 亚洲欧美在线观看| 国产午夜精品久久久久久免费视 | 欧美视频在线一区| 国产成人亚洲精品狼色在线| 青青草91视频| 天堂蜜桃91精品| 夜夜揉揉日日人人青青一国产精品 | 精品国产人成亚洲区| 欧美无砖专区一中文字| 在线免费不卡视频| 91色在线porny| 成人免费毛片app| 国产精品一区不卡| 国产精品亚洲视频| 国产综合久久久久影院| 捆绑调教一区二区三区| 久久精品久久精品| 老色鬼精品视频在线观看播放| 日本午夜精品视频在线观看| 亚洲电影一级黄| 午夜一区二区三区视频| 亚洲v中文字幕| 三级成人在线视频| 日韩高清一区二区| 麻豆一区二区三| 久久99国产精品久久| 乱一区二区av| 国模套图日韩精品一区二区| 久久99国产精品麻豆| 韩日精品视频一区| 丁香婷婷综合网| 99久久久无码国产精品| 色综合久久久久久久| 在线免费观看日本一区| 欧美区在线观看| 日韩欧美亚洲一区二区| 久久久久九九视频| 国产精品久久久久影院老司 | 日韩制服丝袜av| 久久精品国产一区二区三| 国产一区二区导航在线播放| 国产黑丝在线一区二区三区| 不卡影院免费观看| 欧美无砖砖区免费| 精品国产区一区| 日韩一区日韩二区| 亚洲国产日韩精品| 久久99精品久久只有精品| 国产成人99久久亚洲综合精品| 91在线国内视频| 欧美一区二区三区视频免费播放| 久久久天堂av| 亚洲香肠在线观看| 国产美女精品人人做人人爽| av网站免费线看精品| 91精品国产色综合久久不卡电影| 国产偷国产偷精品高清尤物 | 精品婷婷伊人一区三区三| 日韩亚洲欧美一区二区三区| 精品91自产拍在线观看一区| 中文字幕综合网| 免费观看成人av| 91在线播放网址| 精品久久久网站| 亚洲美女少妇撒尿| 狠狠色丁香婷综合久久| 欧美性淫爽ww久久久久无| 欧美xxxxxxxx| 亚洲精品自拍动漫在线| 国产真实乱偷精品视频免| 在线精品亚洲一区二区不卡| 久久久久久**毛片大全| 午夜精品久久久久久久| 99re免费视频精品全部| 欧美v亚洲v综合ⅴ国产v| 亚洲综合一区二区| 国产成人av电影在线| 欧美一区二区三区视频免费 | 精品一二三四区| 日本国产一区二区| 国产精品沙发午睡系列990531| 亚洲mv大片欧洲mv大片精品| 成+人+亚洲+综合天堂| 26uuu精品一区二区| 亚洲一区二区精品久久av| 成人av在线资源| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产a级毛片一区| 日韩免费看的电影| 午夜欧美电影在线观看| 一本一道波多野结衣一区二区| 久久精品亚洲一区二区三区浴池| 日本欧美在线观看| 欧美日韩一区久久| 亚洲一区自拍偷拍| 99天天综合性| 国产精品初高中害羞小美女文| 久久av资源网| 欧美电影免费观看高清完整版在线观看| 日韩理论片网站| 91视频免费看| 国产精品美女久久久久久久| 国产福利91精品一区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲一区在线免费观看| zzijzzij亚洲日本少妇熟睡| 欧美国产丝袜视频| 黄色日韩网站视频| 精品久久久久久亚洲综合网| 免费在线观看一区| 日韩女优视频免费观看| 麻豆成人av在线| 精品国产乱码久久久久久蜜臀| 另类人妖一区二区av| 精品国产乱码久久久久久久久 | 精品一区二区在线播放| 精品国产1区二区| 国产乱码精品1区2区3区| 久久久久9999亚洲精品| 国产麻豆日韩欧美久久| 国产三级久久久| 成人av第一页| 一区二区三区在线免费观看| 色先锋aa成人| 亚洲aⅴ怡春院| 欧美成人高清电影在线| 国产精品99久久久久久似苏梦涵 | 成人综合婷婷国产精品久久蜜臀 | 欧美影院一区二区| 亚洲午夜影视影院在线观看| 在线播放日韩导航| 精油按摩中文字幕久久| 久久久精品人体av艺术| 丁香婷婷综合五月| 亚洲激情网站免费观看| 欧美日韩三级视频| 麻豆一区二区在线| 国产精品亲子伦对白| 欧日韩精品视频| 美女视频黄频大全不卡视频在线播放| 亚洲精品在线三区| av不卡免费电影| 亚洲成人第一页| 久久亚洲综合色一区二区三区| av午夜一区麻豆| 日本麻豆一区二区三区视频| 国产亚洲成av人在线观看导航| 91亚洲国产成人精品一区二区三|