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

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

?? sha1.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
字號:
// $Header: /I76/I76_Common/I76_Reference/Playcore/Nav_Clips/AviDrm/LibDrmCommon/sha1.c 1     20/01/04 12:15 Lotan $
// Copyright (c) 2003 DivXNetworks, Inc. http://www.divxnetworks.com
// All rights reserved.
//
// This software is the confidential and proprietary information of DivxNetworks
// Inc. ("Confidential Information").  You shall not disclose such Confidential
// Information and shall use it only in accordance with the terms of the license
// agreement you entered into with DivXNetworks, Inc.

#include "Playcore\Nav_Clips\AviDrm\libDrmCommon\sha1.h"

#ifdef AVI_DRM_SUPPORT
#include "Services\Memory\malloc.h" // when using far malloc we should add this include 
#include "Services\Include\_heap.h"

#define SHA_X(a)	\
		*p++ = (unsigned char) (0xFF & (h##a >> 24)); \
		*p++ = (unsigned char) (0xFF & (h##a >> 16)); \
		*p++ = (unsigned char) (0xFF & (h##a >> 8));  \
		*p++ = (unsigned char) (0xFF & (h##a));

#define K1			0x5A827999L
#define K2			0x6ED9EBA1L
#define K3			0x8F1BBCDCL
#define K4			0xCA62C1D6L


#define F1(x,y,z)   ( z ^ ( x & ( y ^ z ) ) )
#define F2(x,y,z)   ( x ^ y ^ z )
#define F3(x,y,z)   ( ( x & y ) | ( z & ( x | y ) ) )
#define F4(x,y,z)   ( x ^ y ^ z )


/*
UINT32 F1(UINT32 x, UINT32 y, UINT32 z)
{
   return ( z ^ ( x & ( y ^ z ) ) );
}

UINT32 F2(UINT32 x, UINT32 y, UINT32 z)
{
   return ( x ^ y ^ z );
}

UINT32 F3(UINT32 x, UINT32 y, UINT32 z)
{
   return ( ( x & y ) | ( z & ( x | y ) ) );
}


UINT32 F4(UINT32 x, UINT32 y, UINT32 z)
{
   return ( x ^ y ^ z );
}
*/



#define M(i) ( tm =   x[i&0x0f] ^ x[(i-14)&0x0f]            \
		            ^ x[(i-8)&0x0f] ^ x[(i-3)&0x0f]         \
	               , (x[i&0x0f] = (tm << 1) | (tm >> 31)) )


#define rol_5(A) (( A<<5) | ((A>>27) & 0x1F))

#define rol_30(A) (( A<<30) | ((A>>2) & 0x3FFFFFFFUL))


#define R(a,b,c,d,e,f,k,m)  e += rol_5( a )     \
				      + f( b, c, d )            \
				      + k	                    \
				      + m;	                    \
					  b = rol_30( b ); 

//
//
//

char *sha1GetHash(unsigned char *buf, 
				  unsigned int length, 
				  unsigned int *outlength)
{
	unsigned long h0, h1, h2, h3, h4;
	unsigned long nBlocks;
	unsigned char buffer[64];
	unsigned int  count;
	unsigned long t;
	unsigned long msb;
	unsigned long lsb;
	unsigned char *p;

	char *result = (char *) MEM_Allocate(SC_POOL, 64);

	//
	// init
	//

	h0			= 0x67452301UL;
	h1			= 0xefcdab89UL;
	h2			= 0x98badcfeUL;
	h3			= 0x10325476UL;
	h4			= 0xc3d2e1f0UL;
	nBlocks	    = 0;
	count       = 0;

	memset(buffer, 0, sizeof(buffer));

	//
	// Add the data
	//
// <<< Robin_0915_2004
#ifndef AVI_DRM_OPTIMIZATION
	for(count = 0; length >= 64; nBlocks++, length -= 64, buf += 64)
	{
		int i;
	   UINT32 a,b,c,d,e,tm;
	   UINT32 x[16];
		BYTE   *data = buf;
		BYTE   *p2 = (BYTE*) x;

	    a = h0;
	    b = h1;
	    c = h2;
	    d = h3;
	    e = h4;

		for(i = 16; i; i--, p2 += 4)
		{
			p2[3] = *data++;
			p2[2] = *data++;
			p2[1] = *data++;
			p2[0] = *data++;
		}

	    R( a, b, c, d, e, F1, K1, x[ 0] );
	    R( e, a, b, c, d, F1, K1, x[ 1] );
	    R( d, e, a, b, c, F1, K1, x[ 2] );
	    R( c, d, e, a, b, F1, K1, x[ 3] );
	    R( b, c, d, e, a, F1, K1, x[ 4] );
	    R( a, b, c, d, e, F1, K1, x[ 5] );
	    R( e, a, b, c, d, F1, K1, x[ 6] );
	    R( d, e, a, b, c, F1, K1, x[ 7] );
	    R( c, d, e, a, b, F1, K1, x[ 8] );
	    R( b, c, d, e, a, F1, K1, x[ 9] );
	    R( a, b, c, d, e, F1, K1, x[10] );
	    R( e, a, b, c, d, F1, K1, x[11] );
	    R( d, e, a, b, c, F1, K1, x[12] );
	    R( c, d, e, a, b, F1, K1, x[13] );
	    R( b, c, d, e, a, F1, K1, x[14] );
	    R( a, b, c, d, e, F1, K1, x[15] );
	    R( e, a, b, c, d, F1, K1, M(16) );
	    R( d, e, a, b, c, F1, K1, M(17) );
	    R( c, d, e, a, b, F1, K1, M(18) );
	    R( b, c, d, e, a, F1, K1, M(19) );
	    R( a, b, c, d, e, F2, K2, M(20) );
	    R( e, a, b, c, d, F2, K2, M(21) );
	    R( d, e, a, b, c, F2, K2, M(22) );
	    R( c, d, e, a, b, F2, K2, M(23) );
	    R( b, c, d, e, a, F2, K2, M(24) );
	    R( a, b, c, d, e, F2, K2, M(25) );
	    R( e, a, b, c, d, F2, K2, M(26) );
	    R( d, e, a, b, c, F2, K2, M(27) );
	    R( c, d, e, a, b, F2, K2, M(28) );
	    R( b, c, d, e, a, F2, K2, M(29) );
	    R( a, b, c, d, e, F2, K2, M(30) );
	    R( e, a, b, c, d, F2, K2, M(31) );
	    R( d, e, a, b, c, F2, K2, M(32) );
	    R( c, d, e, a, b, F2, K2, M(33) );
	    R( b, c, d, e, a, F2, K2, M(34) );
	    R( a, b, c, d, e, F2, K2, M(35) );
	    R( e, a, b, c, d, F2, K2, M(36) );
		R( d, e, a, b, c, F2, K2, M(37) );
	    R( c, d, e, a, b, F2, K2, M(38) );
	    R( b, c, d, e, a, F2, K2, M(39) );
	    R( a, b, c, d, e, F3, K3, M(40) );
	    R( e, a, b, c, d, F3, K3, M(41) );
	    R( d, e, a, b, c, F3, K3, M(42) );
	    R( c, d, e, a, b, F3, K3, M(43) );
	    R( b, c, d, e, a, F3, K3, M(44) );
	    R( a, b, c, d, e, F3, K3, M(45) );
	    R( e, a, b, c, d, F3, K3, M(46) );
	    R( d, e, a, b, c, F3, K3, M(47) );
	    R( c, d, e, a, b, F3, K3, M(48) );
	    R( b, c, d, e, a, F3, K3, M(49) );
	    R( a, b, c, d, e, F3, K3, M(50) );
	    R( e, a, b, c, d, F3, K3, M(51) );
	    R( d, e, a, b, c, F3, K3, M(52) );
	    R( c, d, e, a, b, F3, K3, M(53) );
	    R( b, c, d, e, a, F3, K3, M(54) );
	    R( a, b, c, d, e, F3, K3, M(55) );
	    R( e, a, b, c, d, F3, K3, M(56) );
	    R( d, e, a, b, c, F3, K3, M(57) );
	    R( c, d, e, a, b, F3, K3, M(58) );
	    R( b, c, d, e, a, F3, K3, M(59) );
	    R( a, b, c, d, e, F4, K4, M(60) );
	    R( e, a, b, c, d, F4, K4, M(61) );
	    R( d, e, a, b, c, F4, K4, M(62) );
	    R( c, d, e, a, b, F4, K4, M(63) );
	    R( b, c, d, e, a, F4, K4, M(64) );
	    R( a, b, c, d, e, F4, K4, M(65) );
	    R( e, a, b, c, d, F4, K4, M(66) );
	    R( d, e, a, b, c, F4, K4, M(67) );
	    R( c, d, e, a, b, F4, K4, M(68) );
	    R( b, c, d, e, a, F4, K4, M(69) );
	    R( a, b, c, d, e, F4, K4, M(70) );
	    R( e, a, b, c, d, F4, K4, M(71) );
	    R( d, e, a, b, c, F4, K4, M(72) );
	    R( c, d, e, a, b, F4, K4, M(73) );
	    R( b, c, d, e, a, F4, K4, M(74) );
	    R( a, b, c, d, e, F4, K4, M(75) );
	    R( e, a, b, c, d, F4, K4, M(76) );
	    R( d, e, a, b, c, F4, K4, M(77) );
	    R( c, d, e, a, b, F4, K4, M(78) );
	    R( b, c, d, e, a, F4, K4, M(79) );
	
	    h0 += a;
		h1 += b;
	    h2 += c;
	    h3 += d;
	    h4 += e;
	}
#endif
// >>> Robin_0915_2004
	memcpy(buffer, buf, length);
	count += length;

	//
	// finalize
	//

	msb = 0;
	t   = nBlocks;

	if((lsb = t << 6) < t)
	{
		msb++;
	}

	msb += (t >> 26);

	t = lsb;

	if((lsb = t + count) < t)
	{
		msb++;
	}

	t = lsb;

	if((lsb = t << 3) < t)
	{
		msb++;
	}

	msb += (t >> 29);

	//
	//
	//

	if(count != 0)
	{
		if(count < 56) 
		{
			buffer[count++] = 0x80;
			memset(buffer + count, 0, 56 - count);
			count = 56;
		}
		else
		{	
			buffer[count++] = 0x80;

			memset(buffer + count, 0, 64 - count);
			count = 64;

			memset(buffer, 0, 56);
		}
	}

	buffer[56] = (unsigned char) (0xFF & (msb >> 24));
	buffer[57] = (unsigned char) (0xFF & (msb >> 16));
	buffer[58] = (unsigned char) (0xFF & (msb >>  8));
	buffer[59] = (unsigned char) (0xFF & (msb	   ));
	buffer[60] = (unsigned char) (0xFF & (lsb >> 24));
	buffer[61] = (unsigned char) (0xFF & (lsb >> 16));
	buffer[62] = (unsigned char) (0xFF & (lsb >>  8));
	buffer[63] = (unsigned char) (0xFF & (lsb	   ));
	
	{
		int i;
		unsigned char *data = buffer;
	    unsigned long a,b,c,d,e,tm;
	    unsigned long x[16];
		unsigned char* p2 = (unsigned char *) x;

	    a = h0;
	    b = h1;
	    c = h2;
	    d = h3;
	    e = h4;

		for(i = 16; i; i--, p2 += 4)
		{
			p2[3] = *data++;
			p2[2] = *data++;
			p2[1] = *data++;
			p2[0] = *data++;
		}

	    R( a, b, c, d, e, F1, K1, x[ 0] );
	    R( e, a, b, c, d, F1, K1, x[ 1] );
	    R( d, e, a, b, c, F1, K1, x[ 2] );
	    R( c, d, e, a, b, F1, K1, x[ 3] );
	    R( b, c, d, e, a, F1, K1, x[ 4] );
	    R( a, b, c, d, e, F1, K1, x[ 5] );
	    R( e, a, b, c, d, F1, K1, x[ 6] );
	    R( d, e, a, b, c, F1, K1, x[ 7] );
	    R( c, d, e, a, b, F1, K1, x[ 8] );
	    R( b, c, d, e, a, F1, K1, x[ 9] );
	    R( a, b, c, d, e, F1, K1, x[10] );
	    R( e, a, b, c, d, F1, K1, x[11] );
	    R( d, e, a, b, c, F1, K1, x[12] );
	    R( c, d, e, a, b, F1, K1, x[13] );
	    R( b, c, d, e, a, F1, K1, x[14] );
	    R( a, b, c, d, e, F1, K1, x[15] );
	    R( e, a, b, c, d, F1, K1, M(16) );
	    R( d, e, a, b, c, F1, K1, M(17) );
	    R( c, d, e, a, b, F1, K1, M(18) );
	    R( b, c, d, e, a, F1, K1, M(19) );
	    R( a, b, c, d, e, F2, K2, M(20) );
	    R( e, a, b, c, d, F2, K2, M(21) );
	    R( d, e, a, b, c, F2, K2, M(22) );
	    R( c, d, e, a, b, F2, K2, M(23) );
	    R( b, c, d, e, a, F2, K2, M(24) );
	    R( a, b, c, d, e, F2, K2, M(25) );
	    R( e, a, b, c, d, F2, K2, M(26) );
	    R( d, e, a, b, c, F2, K2, M(27) );
	    R( c, d, e, a, b, F2, K2, M(28) );
	    R( b, c, d, e, a, F2, K2, M(29) );
	    R( a, b, c, d, e, F2, K2, M(30) );
	    R( e, a, b, c, d, F2, K2, M(31) );
	    R( d, e, a, b, c, F2, K2, M(32) );
	    R( c, d, e, a, b, F2, K2, M(33) );
	    R( b, c, d, e, a, F2, K2, M(34) );
	    R( a, b, c, d, e, F2, K2, M(35) );
	    R( e, a, b, c, d, F2, K2, M(36) );
		R( d, e, a, b, c, F2, K2, M(37) );
	    R( c, d, e, a, b, F2, K2, M(38) );
	    R( b, c, d, e, a, F2, K2, M(39) );
	    R( a, b, c, d, e, F3, K3, M(40) );
	    R( e, a, b, c, d, F3, K3, M(41) );
	    R( d, e, a, b, c, F3, K3, M(42) );
	    R( c, d, e, a, b, F3, K3, M(43) );
	    R( b, c, d, e, a, F3, K3, M(44) );
	    R( a, b, c, d, e, F3, K3, M(45) );
	    R( e, a, b, c, d, F3, K3, M(46) );
	    R( d, e, a, b, c, F3, K3, M(47) );
	    R( c, d, e, a, b, F3, K3, M(48) );
	    R( b, c, d, e, a, F3, K3, M(49) );
	    R( a, b, c, d, e, F3, K3, M(50) );
	    R( e, a, b, c, d, F3, K3, M(51) );
	    R( d, e, a, b, c, F3, K3, M(52) );
	    R( c, d, e, a, b, F3, K3, M(53) );
	    R( b, c, d, e, a, F3, K3, M(54) );
	    R( a, b, c, d, e, F3, K3, M(55) );
	    R( e, a, b, c, d, F3, K3, M(56) );
	    R( d, e, a, b, c, F3, K3, M(57) );
	    R( c, d, e, a, b, F3, K3, M(58) );
	    R( b, c, d, e, a, F3, K3, M(59) );
	    R( a, b, c, d, e, F4, K4, M(60) );
	    R( e, a, b, c, d, F4, K4, M(61) );
	    R( d, e, a, b, c, F4, K4, M(62) );
	    R( c, d, e, a, b, F4, K4, M(63) );
	    R( b, c, d, e, a, F4, K4, M(64) );
	    R( a, b, c, d, e, F4, K4, M(65) );
	    R( e, a, b, c, d, F4, K4, M(66) );
	    R( d, e, a, b, c, F4, K4, M(67) );
	    R( c, d, e, a, b, F4, K4, M(68) );
	    R( b, c, d, e, a, F4, K4, M(69) );
	    R( a, b, c, d, e, F4, K4, M(70) );
	    R( e, a, b, c, d, F4, K4, M(71) );
	    R( d, e, a, b, c, F4, K4, M(72) );
	    R( c, d, e, a, b, F4, K4, M(73) );
	    R( b, c, d, e, a, F4, K4, M(74) );
	    R( a, b, c, d, e, F4, K4, M(75) );
	    R( e, a, b, c, d, F4, K4, M(76) );
	    R( d, e, a, b, c, F4, K4, M(77) );
	    R( c, d, e, a, b, F4, K4, M(78) );
	    R( b, c, d, e, a, F4, K4, M(79) );
	
	    h0 += a;
		h1 += b;
	    h2 += c;
	    h3 += d;
	    h4 += e;
	}

	p = (unsigned char *) buffer;

	SHA_X(0);
	SHA_X(1);
	SHA_X(2);
	SHA_X(3);
	SHA_X(4);

	memcpy(result, buffer, 20);
	*outlength = 20;

	return result;
}

#endif // AVI_DRM_SUPPORT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美丰满美乳xxx高潮www| av动漫一区二区| 亚洲精品中文字幕在线观看| 国产精品婷婷午夜在线观看| 久久久欧美精品sm网站| 精品国产区一区| 欧美r级在线观看| 欧美精品一区二区三区蜜臀| 久久久精品欧美丰满| 国产喂奶挤奶一区二区三区| 中文字幕欧美激情一区| 日韩理论电影院| 亚洲午夜久久久久久久久久久| 亚洲自拍都市欧美小说| 爽好久久久欧美精品| 韩国av一区二区三区四区| 国产精品一色哟哟哟| 成人一级片在线观看| 日本精品视频一区二区| 欧美理论片在线| 久久精品一区二区三区不卡 | 欧美一级爆毛片| 欧美精品一区二区三区蜜桃 | 欧美日韩一区二区电影| 91精品国产欧美一区二区成人| 日韩一级免费一区| 国产欧美精品一区二区三区四区| 亚洲日韩欧美一区二区在线| 亚洲aaa精品| 国产.欧美.日韩| 欧洲精品中文字幕| 久久精品一区二区三区不卡| 日韩理论在线观看| 精品一区二区综合| 91国在线观看| 2020国产精品| 亚洲va韩国va欧美va| 国产成人免费视频| 欧美一区二区三区在线电影| 成人免费一区二区三区视频| 麻豆久久久久久久| 欧美天堂一区二区三区| 国产日韩影视精品| 免费一级片91| 欧美日韩免费电影| 国产精品久久久久久久久免费樱桃| 日本vs亚洲vs韩国一区三区| 色屁屁一区二区| 国产欧美一区视频| 国模大尺度一区二区三区| 欧美性生交片4| 国产精品久久久久久福利一牛影视 | 欧美欧美欧美欧美首页| 国产午夜亚洲精品羞羞网站| 奇米精品一区二区三区四区| 欧洲精品一区二区| **性色生活片久久毛片| 成人激情开心网| 久久综合九色综合97_久久久| 日日骚欧美日韩| 欧美视频精品在线| 亚洲综合丁香婷婷六月香| av色综合久久天堂av综合| 国产日韩精品一区| 国产精品一二三| 久久久99久久| 成人性生交大片| 国产视频一区二区三区在线观看| 久久电影网站中文字幕| 欧美一区二区三区电影| 麻豆精品一区二区av白丝在线 | 免费三级欧美电影| 在线播放欧美女士性生活| 亚洲高清免费观看高清完整版在线观看| 国产成人av电影在线播放| 国产欧美日韩激情| 国产电影一区在线| 欧美国产欧美综合| jvid福利写真一区二区三区| 亚洲人成电影网站色mp4| 日本国产一区二区| 亚洲成人综合在线| 欧美丰满嫩嫩电影| 久久国产麻豆精品| 国产网红主播福利一区二区| 成人精品视频一区二区三区| ...xxx性欧美| 欧美色成人综合| 麻豆91免费看| 国产精品美女久久久久aⅴ | 日韩亚洲欧美高清| 精品无码三级在线观看视频| 国产日韩欧美亚洲| a级精品国产片在线观看| 一卡二卡三卡日韩欧美| 3d成人h动漫网站入口| 看国产成人h片视频| 国产精品久久午夜夜伦鲁鲁| 日本精品一区二区三区四区的功能| 午夜a成v人精品| 久久美女高清视频| 欧美在线视频你懂得| 久久99热狠狠色一区二区| 中文在线一区二区| 欧美日韩在线不卡| 国产精品一区二区三区网站| 18欧美乱大交hd1984| 欧美一区二区视频观看视频| 成人在线一区二区三区| 午夜精品成人在线视频| 国产欧美一区在线| 欧美一区二区三区在线看| 成人av在线电影| 欧美aaaaa成人免费观看视频| 国产婷婷色一区二区三区在线| 欧美又粗又大又爽| 国产福利91精品一区| 亚洲成人动漫在线观看| 亚洲国产岛国毛片在线| 91麻豆精品国产91久久久 | 在线综合亚洲欧美在线视频| 高清日韩电视剧大全免费| 日韩av电影免费观看高清完整版| 亚洲国产精品成人综合色在线婷婷| 欧美日韩成人一区二区| av中文一区二区三区| 国产一区在线观看视频| 日本不卡视频一二三区| 亚洲小说欧美激情另类| 亚洲日本中文字幕区| 国产日韩欧美一区二区三区乱码| 欧美电影影音先锋| 在线观看免费视频综合| 99精品欧美一区二区三区小说 | 欧洲激情一区二区| 成人黄色777网| 国产成人在线色| 国产专区综合网| 久久国内精品视频| 美洲天堂一区二卡三卡四卡视频| 亚洲国产精品麻豆| 亚洲精品成人少妇| 亚洲美女精品一区| 亚洲男女毛片无遮挡| 日韩毛片高清在线播放| 日韩一区在线免费观看| 国产精品福利一区二区三区| 国产日韩欧美激情| 欧美国产激情二区三区 | 色哟哟一区二区| 成人av电影免费观看| 成人免费三级在线| 成人午夜大片免费观看| 成人精品电影在线观看| 不卡一区在线观看| 91片黄在线观看| 欧美羞羞免费网站| 欧美日韩午夜在线视频| 欧美女孩性生活视频| 日韩精品中午字幕| 久久亚洲综合色一区二区三区 | 樱花影视一区二区| 亚洲高清久久久| 久久国内精品视频| 国产夫妻精品视频| 日本精品一级二级| 91麻豆精品久久久久蜜臀| 欧美精品一区视频| 国产精品国产三级国产a| 亚洲精品国产精品乱码不99| 婷婷丁香久久五月婷婷| 麻豆精品在线播放| 不卡的av在线| 欧美三区在线观看| 2023国产精品视频| 亚洲柠檬福利资源导航| 午夜精品久久久久久久99樱桃| 麻豆国产精品官网| 成人中文字幕合集| 欧美剧在线免费观看网站| 欧美精品一区二区精品网| 国产精品久久午夜| 免费亚洲电影在线| 成人免费视频免费观看| 欧美老女人在线| 国产日韩欧美综合一区| 亚洲超碰97人人做人人爱| 精品亚洲成a人在线观看| av在线这里只有精品| 日韩一区二区三区精品视频| 国产精品亲子伦对白| 日日骚欧美日韩| 不卡视频在线观看| 日韩视频一区在线观看| 日韩伦理av电影| 国产精品一区二区91| 91精品综合久久久久久| 17c精品麻豆一区二区免费| 麻豆成人久久精品二区三区小说| 91在线视频播放|