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

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

?? e_rc2.c

?? 開源項(xiàng)目openssl的源碼
?? C
字號(hào):
/* crypto/evp/e_rc2.c *//* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. *  * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to.  The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code.  The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). *  * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *    "This product includes cryptographic software written by *     Eric Young (eay@cryptsoft.com)" *    The word 'cryptographic' can be left out if the rouines from the library *    being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from  *    the apps directory (application code) you must include an acknowledgement: *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" *  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed.  i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */#ifndef OPENSSL_NO_RC2#include <stdio.h>#include "cryptlib.h"#include <openssl/evp.h>#include <openssl/objects.h>#include "evp_locl.h"#include <openssl/rc2.h>static int rc2_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,			const unsigned char *iv,int enc);static int rc2_meth_to_magic(EVP_CIPHER_CTX *ctx);static int rc2_magic_to_meth(int i);static int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);static int rc2_get_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);static int rc2_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr);typedef struct	{	int key_bits;	/* effective key bits */	RC2_KEY ks;	/* key schedule */	} EVP_RC2_KEY;#define data(ctx)	((EVP_RC2_KEY *)(ctx)->cipher_data)IMPLEMENT_BLOCK_CIPHER(rc2, ks, RC2, EVP_RC2_KEY, NID_rc2,			8,			RC2_KEY_LENGTH, 8, 64,			EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT,			rc2_init_key, NULL,			rc2_set_asn1_type_and_iv, rc2_get_asn1_type_and_iv, 			rc2_ctrl)#define RC2_40_MAGIC	0xa0#define RC2_64_MAGIC	0x78#define RC2_128_MAGIC	0x3astatic const EVP_CIPHER r2_64_cbc_cipher=	{	NID_rc2_64_cbc,	8,8 /* 64 bit */,8,	EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT,	rc2_init_key,	rc2_cbc_cipher,	NULL,	sizeof(EVP_RC2_KEY),	rc2_set_asn1_type_and_iv,	rc2_get_asn1_type_and_iv,	rc2_ctrl,	NULL	};static const EVP_CIPHER r2_40_cbc_cipher=	{	NID_rc2_40_cbc,	8,5 /* 40 bit */,8,	EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT,	rc2_init_key,	rc2_cbc_cipher,	NULL,	sizeof(EVP_RC2_KEY),	rc2_set_asn1_type_and_iv,	rc2_get_asn1_type_and_iv,	rc2_ctrl,	NULL	};const EVP_CIPHER *EVP_rc2_64_cbc(void)	{	return(&r2_64_cbc_cipher);	}const EVP_CIPHER *EVP_rc2_40_cbc(void)	{	return(&r2_40_cbc_cipher);	}	static int rc2_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,			const unsigned char *iv, int enc)	{	RC2_set_key(&data(ctx)->ks,EVP_CIPHER_CTX_key_length(ctx),		    key,data(ctx)->key_bits);	return 1;	}static int rc2_meth_to_magic(EVP_CIPHER_CTX *e)	{	int i;	EVP_CIPHER_CTX_ctrl(e, EVP_CTRL_GET_RC2_KEY_BITS, 0, &i);	if 	(i == 128) return(RC2_128_MAGIC);	else if (i == 64)  return(RC2_64_MAGIC);	else if (i == 40)  return(RC2_40_MAGIC);	else return(0);	}static int rc2_magic_to_meth(int i)	{	if      (i == RC2_128_MAGIC) return 128;	else if (i == RC2_64_MAGIC)  return 64;	else if (i == RC2_40_MAGIC)  return 40;	else		{		EVPerr(EVP_F_RC2_MAGIC_TO_METH,EVP_R_UNSUPPORTED_KEY_SIZE);		return(0);		}	}static int rc2_get_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)	{	long num=0;	int i=0,l;	int key_bits;	unsigned char iv[EVP_MAX_IV_LENGTH];	if (type != NULL)		{		l=EVP_CIPHER_CTX_iv_length(c);		OPENSSL_assert(l <= sizeof iv);		i=ASN1_TYPE_get_int_octetstring(type,&num,iv,l);		if (i != l)			return(-1);		key_bits =rc2_magic_to_meth((int)num);		if (!key_bits)			return(-1);		if(i > 0) EVP_CipherInit_ex(c, NULL, NULL, NULL, iv, -1);		EVP_CIPHER_CTX_ctrl(c, EVP_CTRL_SET_RC2_KEY_BITS, key_bits, NULL);		EVP_CIPHER_CTX_set_key_length(c, key_bits / 8);		}	return(i);	}static int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)	{	long num;	int i=0,j;	if (type != NULL)		{		num=rc2_meth_to_magic(c);		j=EVP_CIPHER_CTX_iv_length(c);		i=ASN1_TYPE_set_int_octetstring(type,num,c->oiv,j);		}	return(i);	}static int rc2_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)	{	switch(type)		{	case EVP_CTRL_INIT:		data(c)->key_bits = EVP_CIPHER_CTX_key_length(c) * 8;		return 1;	case EVP_CTRL_GET_RC2_KEY_BITS:		*(int *)ptr = data(c)->key_bits;		return 1;				case EVP_CTRL_SET_RC2_KEY_BITS:		if(arg > 0)			{			data(c)->key_bits = arg;			return 1;			}		return 0;	default:		return -1;		}	}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码久久午夜不卡| 91视视频在线直接观看在线看网页在线看| 在线看日韩精品电影| 亚洲男同性视频| 91福利国产成人精品照片| 亚洲一区二区三区四区在线观看 | 亚洲电影一级片| 欧美老女人第四色| 久久不见久久见中文字幕免费| 欧美精品一区二区高清在线观看| 国产一区视频导航| 亚洲国产成人私人影院tom| 99久久精品费精品国产一区二区 | 一区二区久久久久| 欧美老年两性高潮| 国内久久婷婷综合| 亚洲人一二三区| 欧美顶级少妇做爰| 精品国产第一区二区三区观看体验| 欧美日韩亚州综合| 日韩欧美久久一区| 亚洲青青青在线视频| 中文字幕二三区不卡| 亚洲美女屁股眼交3| 99re热视频这里只精品| 在线免费精品视频| 亚洲伦在线观看| 欧美日本乱大交xxxxx| 国产在线麻豆精品观看| 亚洲欧洲一区二区在线播放| 777精品伊人久久久久大香线蕉| 国产黄色成人av| 亚洲一区二区综合| 久久久不卡影院| 欧美日韩综合不卡| 成人免费高清视频| 日本不卡视频在线| 一区二区久久久久久| 久久网站最新地址| 欧美在线三级电影| 成人免费视频app| 美女网站一区二区| 亚洲一区二区三区四区在线免费观看| 欧美成人一区二区| 欧洲av在线精品| 国产mv日韩mv欧美| 麻豆精品一二三| 亚洲欧美日韩精品久久久久| 久久综合狠狠综合久久激情| 欧美人伦禁忌dvd放荡欲情| 成人性色生活片| 日韩专区中文字幕一区二区| 亚洲精品成人在线| 欧美国产成人在线| 久久综合色之久久综合| 在线91免费看| 欧美日韩久久一区二区| 91视频你懂的| 成人白浆超碰人人人人| 国产精品一区在线观看你懂的| 日韩和欧美的一区| 香蕉成人伊视频在线观看| 亚洲日本青草视频在线怡红院| 国产视频911| 精品久久久久久无| 日韩精品一区二区三区视频| 制服.丝袜.亚洲.另类.中文| 欧美亚洲国产一区二区三区| 91久久精品午夜一区二区| 99久久夜色精品国产网站| 丁香婷婷深情五月亚洲| 国产成人在线视频网址| 国产精品77777竹菊影视小说| 久久99久久久欧美国产| 久久精品国产999大香线蕉| 日韩av一级电影| 美女高潮久久久| 韩国v欧美v日本v亚洲v| 国产中文字幕精品| 国产成人av一区二区三区在线| 国产原创一区二区| 国产成人亚洲综合a∨猫咪| 国产成人亚洲综合a∨猫咪| 国产91对白在线观看九色| 东方欧美亚洲色图在线| 97精品超碰一区二区三区| 色综合久久综合网欧美综合网| www.欧美亚洲| 91黄色免费看| 在线不卡欧美精品一区二区三区| 欧美日韩在线免费视频| 欧美高清你懂得| 日韩精品中文字幕一区| 国产亚洲成年网址在线观看| 日本一区二区免费在线观看视频| 国产精品看片你懂得| 亚洲人午夜精品天堂一二香蕉| 一区二区日韩av| 琪琪久久久久日韩精品| 国产精品综合视频| 成人动漫一区二区| 欧美日韩久久久一区| 精品对白一区国产伦| 亚洲国产高清在线| 一区二区三区.www| 久久精品国产亚洲aⅴ | 亚洲精品日日夜夜| 亚洲第一久久影院| 韩国成人在线视频| 色网站国产精品| 欧美一区国产二区| 国产精品久久久久久久岛一牛影视 | 欧美日韩国产高清一区| 精品国产一区二区三区忘忧草| 国产精品萝li| 亚洲 欧美综合在线网络| 老司机午夜精品| 91在线国内视频| 精品国产乱码久久久久久浪潮| 自拍偷拍亚洲综合| 免费在线看成人av| 99riav久久精品riav| 日韩欧美国产综合在线一区二区三区| 国产精品久久午夜| 美女看a上一区| 日本电影亚洲天堂一区| 久久久电影一区二区三区| 亚洲在线视频网站| 成人福利在线看| 欧美成人一区二区三区| 亚洲午夜视频在线观看| 风间由美一区二区av101 | 99精品久久只有精品| 日韩一级片在线播放| 亚洲美女电影在线| 国产综合色产在线精品| 欧美自拍偷拍一区| 国产精品丝袜久久久久久app| 美女脱光内衣内裤视频久久网站| 91蝌蚪porny| 久久久久9999亚洲精品| 免费日韩伦理电影| 欧美三级韩国三级日本三斤 | 欧美自拍偷拍一区| 欧美国产精品久久| 国产精品888| xnxx国产精品| 久久精品国产成人一区二区三区| 欧美性生交片4| 亚洲视频一二三| 丁香天五香天堂综合| 久久综合九色综合欧美就去吻| 日韩**一区毛片| 欧美日韩国产高清一区二区三区| 一区二区三区中文字幕在线观看| av电影在线观看一区| 欧美激情一区二区在线| 国产高清在线观看免费不卡| 欧美va日韩va| 韩国欧美国产一区| 日韩精品专区在线| 激情小说亚洲一区| 日韩视频免费观看高清在线视频| 午夜久久久久久| 欧美日韩亚洲国产综合| 亚洲成a人片在线不卡一二三区| 91香蕉视频污| 亚洲精品日日夜夜| 欧美伊人久久久久久午夜久久久久| 日韩毛片在线免费观看| 99久久婷婷国产精品综合| 中文字幕一区二区三区av| 99久精品国产| 亚洲综合一二区| 777亚洲妇女| 精品制服美女久久| 亚洲精品在线观看视频| 国产精品中文字幕一区二区三区| 久久精品人人做| av电影在线观看一区| 一区二区欧美国产| 91精品免费观看| 国产伦精一区二区三区| 亚洲国产精品传媒在线观看| caoporm超碰国产精品| 一区二区三区在线观看网站| 欧美日韩国产bt| 黄色日韩三级电影| 国产日韩欧美一区二区三区乱码| 成人激情午夜影院| 一区二区三区四区在线免费观看| 欧美日韩国产综合一区二区| 久久精品国产一区二区三区免费看| 久久久久久久久久电影| 成人av在线网| 五月天激情小说综合| 久久精品一区二区三区不卡| jizzjizzjizz欧美| 无码av免费一区二区三区试看| 精品国产乱码久久|