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

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

?? des.c

?? openssl包含TLS
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* crypto/des/des.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.] */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <openssl/opensslconf.h>#ifndef OPENSSL_SYS_MSDOS#ifndef OPENSSL_SYS_VMS#include OPENSSL_UNISTD#else /* OPENSSL_SYS_VMS */#ifdef __DECC#include <unistd.h>#else /* not __DECC */#include <math.h>#endif /* __DECC */#endif /* OPENSSL_SYS_VMS */#else /* OPENSSL_SYS_MSDOS */#include <io.h>#endif#include <time.h>#include "des_ver.h"#ifdef OPENSSL_SYS_VMS#include <types.h>#include <stat.h>#else#ifndef _IRIX#include <sys/types.h>#endif#include <sys/stat.h>#endif#include <openssl/des.h>#include <openssl/rand.h>#include <openssl/ui_compat.h>void usage(void);void doencryption(void);int uufwrite(unsigned char *data, int size, unsigned int num, FILE *fp);void uufwriteEnd(FILE *fp);int uufread(unsigned char *out,int size,unsigned int num,FILE *fp);int uuencode(unsigned char *in,int num,unsigned char *out);int uudecode(unsigned char *in,int num,unsigned char *out);void DES_3cbc_encrypt(DES_cblock *input,DES_cblock *output,long length,	DES_key_schedule sk1,DES_key_schedule sk2,	DES_cblock *ivec1,DES_cblock *ivec2,int enc);#ifdef OPENSSL_SYS_VMS#define EXIT(a) exit(a&0x10000000L)#else#define EXIT(a) exit(a)#endif#define BUFSIZE (8*1024)#define VERIFY  1#define KEYSIZ	8#define KEYSIZB 1024 /* should hit tty line limit first :-) */char key[KEYSIZB+1];int do_encrypt,longk=0;FILE *DES_IN,*DES_OUT,*CKSUM_OUT;char uuname[200];unsigned char uubuf[50];int uubufnum=0;#define INUUBUFN	(45*100)#define OUTUUBUF	(65*100)unsigned char b[OUTUUBUF];unsigned char bb[300];DES_cblock cksum={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};char cksumname[200]="";int vflag,cflag,eflag,dflag,kflag,bflag,fflag,sflag,uflag,flag3,hflag,error;int main(int argc, char **argv)	{	int i;	struct stat ins,outs;	char *p;	char *in=NULL,*out=NULL;	vflag=cflag=eflag=dflag=kflag=hflag=bflag=fflag=sflag=uflag=flag3=0;	error=0;	memset(key,0,sizeof(key));	for (i=1; i<argc; i++)		{		p=argv[i];		if ((p[0] == '-') && (p[1] != '\0'))			{			p++;			while (*p)				{				switch (*(p++))					{				case '3':					flag3=1;					longk=1;					break;				case 'c':					cflag=1;					strncpy(cksumname,p,200);					cksumname[sizeof(cksumname)-1]='\0';					p+=strlen(cksumname);					break;				case 'C':					cflag=1;					longk=1;					strncpy(cksumname,p,200);					cksumname[sizeof(cksumname)-1]='\0';					p+=strlen(cksumname);					break;				case 'e':					eflag=1;					break;				case 'v':					vflag=1;					break;				case 'E':					eflag=1;					longk=1;					break;				case 'd':					dflag=1;					break;				case 'D':					dflag=1;					longk=1;					break;				case 'b':					bflag=1;					break;				case 'f':					fflag=1;					break;				case 's':					sflag=1;					break;				case 'u':					uflag=1;					strncpy(uuname,p,200);					uuname[sizeof(uuname)-1]='\0';					p+=strlen(uuname);					break;				case 'h':					hflag=1;					break;				case 'k':					kflag=1;					if ((i+1) == argc)						{						fputs("must have a key with the -k option\n",stderr);						error=1;						}					else						{						int j;						i++;						strncpy(key,argv[i],KEYSIZB);						for (j=strlen(argv[i])-1; j>=0; j--)							argv[i][j]='\0';						}					break;				default:					fprintf(stderr,"'%c' unknown flag\n",p[-1]);					error=1;					break;					}				}			}		else			{			if (in == NULL)				in=argv[i];			else if (out == NULL)				out=argv[i];			else				error=1;			}		}	if (error) usage();	/* We either	 * do checksum or	 * do encrypt or	 * do decrypt or	 * do decrypt then ckecksum or	 * do checksum then encrypt	 */	if (((eflag+dflag) == 1) || cflag)		{		if (eflag) do_encrypt=DES_ENCRYPT;		if (dflag) do_encrypt=DES_DECRYPT;		}	else		{		if (vflag) 			{#ifndef _Windows						fprintf(stderr,"des(1) built with %s\n",libdes_version);#endif						EXIT(1);			}		else usage();		}#ifndef _Windows				if (vflag) fprintf(stderr,"des(1) built with %s\n",libdes_version);#endif				if (	(in != NULL) &&		(out != NULL) &&#ifndef OPENSSL_SYS_MSDOS		(stat(in,&ins) != -1) &&		(stat(out,&outs) != -1) &&		(ins.st_dev == outs.st_dev) &&		(ins.st_ino == outs.st_ino))#else /* OPENSSL_SYS_MSDOS */		(strcmp(in,out) == 0))#endif			{			fputs("input and output file are the same\n",stderr);			EXIT(3);			}	if (!kflag)		if (des_read_pw_string(key,KEYSIZB+1,"Enter key:",eflag?VERIFY:0))			{			fputs("password error\n",stderr);			EXIT(2);			}	if (in == NULL)		DES_IN=stdin;	else if ((DES_IN=fopen(in,"r")) == NULL)		{		perror("opening input file");		EXIT(4);		}	CKSUM_OUT=stdout;	if (out == NULL)		{		DES_OUT=stdout;		CKSUM_OUT=stderr;		}	else if ((DES_OUT=fopen(out,"w")) == NULL)		{		perror("opening output file");		EXIT(5);		}#ifdef OPENSSL_SYS_MSDOS	/* This should set the file to binary mode. */	{#include <fcntl.h>	if (!(uflag && dflag))		setmode(fileno(DES_IN),O_BINARY);	if (!(uflag && eflag))		setmode(fileno(DES_OUT),O_BINARY);	}#endif	doencryption();	fclose(DES_IN);	fclose(DES_OUT);	EXIT(0);	}void usage(void)	{	char **u;	static const char *Usage[]={"des <options> [input-file [output-file]]","options:","-v         : des(1) version number","-e         : encrypt using SunOS compatible user key to DES key conversion.","-E         : encrypt ","-d         : decrypt using SunOS compatible user key to DES key conversion.","-D         : decrypt ","-c[ckname] : generate a cbc_cksum using SunOS compatible user key to","             DES key conversion and output to ckname (stdout default,","             stderr if data being output on stdout).  The checksum is","             generated before encryption and after decryption if used","             in conjunction with -[eEdD].","-C[ckname] : generate a cbc_cksum as for -c but compatible with -[ED].","-k key     : use key 'key'","-h         : the key that is entered will be a hexadecimal number","             that is used directly as the des key","-u[uuname] : input file is uudecoded if -[dD] or output uuencoded data if -[eE]","             (uuname is the filename to put in the uuencode header).","-b         : encrypt using DES in ecb encryption mode, the default is cbc mode.","-3         : encrypt using triple DES encryption.  This uses 2 keys","             generated from the input key.  If the input key is less","             than 8 characters long, this is equivalent to normal","             encryption.  Default is triple cbc, -b makes it triple ecb.",NULL};	for (u=(char **)Usage; *u; u++)		{		fputs(*u,stderr);		fputc('\n',stderr);		}	EXIT(1);	}void doencryption(void)	{#ifdef _LIBC	extern unsigned long time();#endif	register int i;	DES_key_schedule ks,ks2;	DES_cblock iv,iv2;	char *p;	int num=0,j,k,l,rem,ll,len,last,ex=0;	DES_cblock kk,k2;	FILE *O;	int Exit=0;#ifndef OPENSSL_SYS_MSDOS	static unsigned char buf[BUFSIZE+8],obuf[BUFSIZE+8];#else	static unsigned char *buf=NULL,*obuf=NULL;	if (buf == NULL)		{		if (    (( buf=OPENSSL_malloc(BUFSIZE+8)) == NULL) ||			((obuf=OPENSSL_malloc(BUFSIZE+8)) == NULL))			{			fputs("Not enough memory\n",stderr);			Exit=10;			goto problems;			}		}#endif	if (hflag)		{		j=(flag3?16:8);		p=key;		for (i=0; i<j; i++)			{			k=0;			if ((*p <= '9') && (*p >= '0'))				k=(*p-'0')<<4;			else if ((*p <= 'f') && (*p >= 'a'))				k=(*p-'a'+10)<<4;			else if ((*p <= 'F') && (*p >= 'A'))				k=(*p-'A'+10)<<4;			else				{				fputs("Bad hex key\n",stderr);				Exit=9;				goto problems;				}			p++;			if ((*p <= '9') && (*p >= '0'))				k|=(*p-'0');			else if ((*p <= 'f') && (*p >= 'a'))				k|=(*p-'a'+10);			else if ((*p <= 'F') && (*p >= 'A'))				k|=(*p-'A'+10);			else				{				fputs("Bad hex key\n",stderr);				Exit=9;				goto problems;				}			p++;			if (i < 8)				kk[i]=k;			else				k2[i-8]=k;			}		DES_set_key_unchecked(&k2,&ks2);		OPENSSL_cleanse(k2,sizeof(k2));		}	else if (longk || flag3)		{		if (flag3)			{			DES_string_to_2keys(key,&kk,&k2);			DES_set_key_unchecked(&k2,&ks2);			OPENSSL_cleanse(k2,sizeof(k2));			}		else			DES_string_to_key(key,&kk);		}	else		for (i=0; i<KEYSIZ; i++)			{			l=0;			k=key[i];			for (j=0; j<8; j++)				{				if (k&1) l++;				k>>=1;				}			if (l & 1)				kk[i]=key[i]&0x7f;			else				kk[i]=key[i]|0x80;			}	DES_set_key_unchecked(&kk,&ks);	OPENSSL_cleanse(key,sizeof(key));	OPENSSL_cleanse(kk,sizeof(kk));	/* woops - A bug that does not showup under unix :-( */	memset(iv,0,sizeof(iv));	memset(iv2,0,sizeof(iv2));	l=1;	rem=0;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲美州欧州综合国| 亚洲视频一二区| 色综合天天综合网国产成人综合天 | 国产精品网站导航| 欧美日韩三级一区二区| 成人免费福利片| 久久激五月天综合精品| 亚洲精品免费在线播放| 26uuu久久综合| 777午夜精品视频在线播放| 91小宝寻花一区二区三区| 国产综合一区二区| 亚瑟在线精品视频| 国产精品白丝在线| 久久精品亚洲麻豆av一区二区| 这里是久久伊人| 一本一道久久a久久精品综合蜜臀| 国产裸体歌舞团一区二区| 日韩高清国产一区在线| 亚洲最大成人综合| 成人免费一区二区三区在线观看| 久久综合色8888| 精品久久久久久无| 日韩一区二区在线观看视频| 欧美色图第一页| 日韩欧美一级特黄在线播放| 欧美日韩亚洲丝袜制服| 97se亚洲国产综合在线| 国产一区二区免费视频| 久久se这里有精品| 日韩电影在线免费看| 亚洲一区二区三区在线播放| 综合av第一页| 国产精品黄色在线观看| 国产三级欧美三级日产三级99| 欧美成人vr18sexvr| 日韩欧美中文字幕制服| 日韩欧美中文字幕一区| 亚洲最新在线观看| 最新日韩av在线| 亚洲欧美国产77777| 中文字幕亚洲成人| 国产精品久久久久影院亚瑟| 日本一区二区成人| 中文av一区二区| 中日韩免费视频中文字幕| 中文字幕一区二区三区av| 国产精品国产精品国产专区不蜜| 亚洲国产精品99久久久久久久久| 国产视频一区二区三区在线观看 | 日韩欧美中文字幕一区| 日韩精品一区二区三区中文精品| 日韩欧美你懂的| 欧美mv日韩mv国产网站| 国产天堂亚洲国产碰碰| 亚洲欧美偷拍卡通变态| 亚洲日本丝袜连裤袜办公室| 亚洲第一激情av| 美国毛片一区二区三区| 国产激情视频一区二区三区欧美| 春色校园综合激情亚洲| 91蝌蚪porny九色| 欧美日本国产一区| 欧美va亚洲va| 中文字幕一区视频| 亚洲制服欧美中文字幕中文字幕| 午夜国产不卡在线观看视频| 老色鬼精品视频在线观看播放| 国产精品自拍三区| 一本一道波多野结衣一区二区| 欧美日本精品一区二区三区| 久久久久久麻豆| 尤物av一区二区| 日韩成人免费电影| 国产**成人网毛片九色 | 91精品一区二区三区在线观看| 精品久久免费看| 国产精品素人一区二区| 亚洲不卡av一区二区三区| 激情综合亚洲精品| 日本韩国一区二区三区视频| 精品国精品国产| 亚洲自拍偷拍网站| 国产风韵犹存在线视精品| 91成人看片片| 2021久久国产精品不只是精品| 亚洲免费在线视频一区 二区| 麻豆免费精品视频| 色综合夜色一区| 久久先锋影音av鲁色资源| 一区二区三区精密机械公司| 国产一区二区三区香蕉| 欧美亚洲精品一区| 国产精品网曝门| 美女视频一区在线观看| 99国产精品99久久久久久| 欧美不卡激情三级在线观看| 一区二区视频免费在线观看| 国产精品一区二区男女羞羞无遮挡| 欧美撒尿777hd撒尿| 国产精品色在线观看| 青娱乐精品视频| 色八戒一区二区三区| 国产日产欧美一区二区视频| 青青草国产成人99久久| 色综合久久综合网| 国产精品亲子乱子伦xxxx裸| 久久66热偷产精品| 欧美视频一区二区在线观看| 亚洲欧洲日韩在线| 国产高清在线精品| 日韩视频一区二区| 五月天激情小说综合| 色综合天天做天天爱| 国产精品久久久久久久久晋中| 激情五月播播久久久精品| 4438成人网| 亚洲一二三级电影| 日本黄色一区二区| 亚洲免费三区一区二区| 成人av免费观看| 国产视频一区在线观看| 国产乱子伦视频一区二区三区| 在线观看91精品国产麻豆| 亚洲午夜精品久久久久久久久| 91年精品国产| 中文字幕一区二区三中文字幕| 国产成人av自拍| 26uuu亚洲综合色欧美| 国模无码大尺度一区二区三区| 91麻豆精品国产91久久久久久| 午夜不卡av免费| 在线日韩一区二区| 亚洲国产精品久久久久婷婷884| 91国偷自产一区二区三区成为亚洲经典 | 欧美精品乱码久久久久久| 亚洲一二三四在线| 欧美日韩成人在线一区| 亚洲成av人片在线观看| 欧美精品三级日韩久久| 日韩电影一二三区| 精品国产一区二区三区av性色 | 手机精品视频在线观看| 6080国产精品一区二区| 男人的天堂久久精品| 日韩欧美一级特黄在线播放| 久久精品噜噜噜成人88aⅴ| 日韩免费视频一区| 国产福利91精品| 亚洲欧洲精品一区二区精品久久久| 91丝袜美女网| 亚洲成人一区在线| 日韩欧美高清dvd碟片| 国产精品亚洲成人| 国产精品剧情在线亚洲| 一本大道久久a久久精品综合| 亚洲一区二区视频在线| 欧美一区二区性放荡片| 国内外成人在线| 国产精品人人做人人爽人人添| 91福利国产成人精品照片| 日韩综合在线视频| 精品国产一区二区三区忘忧草| 成人国产在线观看| 亚洲国产另类精品专区| 欧美电视剧在线观看完整版| 成人精品视频一区二区三区 | 青青国产91久久久久久| 欧美精品一区二区三| caoporm超碰国产精品| 伊人一区二区三区| 日韩精品专区在线影院重磅| 成人免费视频caoporn| 亚洲午夜精品网| 久久蜜桃香蕉精品一区二区三区| 91亚洲国产成人精品一区二区三| 日一区二区三区| 中文字幕免费观看一区| 欧美亚洲国产bt| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美图区在线视频| 国精产品一区一区三区mba视频 | 一区二区三区欧美在线观看| 日韩一区二区三区四区| 成人av综合一区| 免费看黄色91| 最新国产精品久久精品| 欧美一级专区免费大片| 成人免费视频一区二区| 欧美aⅴ一区二区三区视频| 中文字幕在线观看不卡| 日韩欧美国产一区二区三区| 色综合天天综合狠狠| 久久精品国产99国产精品| 亚洲品质自拍视频网站| 国产夜色精品一区二区av| 4438成人网| 色婷婷久久久久swag精品| 国产成人欧美日韩在线电影| 蜜臀va亚洲va欧美va天堂|