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

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

?? mars.c

?? This the mars encryption algorithm test source code.The mars is the IBM company s algorithm,and the
?? C
字號(hào):
/*********************************************************************/
/*-文件名:mars  													 */
/*-																	 */
/*-功能: 實(shí)現(xiàn)mars加密算法dll   									 */
/*-																	 */
/*-說(shuō)明:															 */
/*- The MARS algorithm is covered by a pending patent application	 */
/*-	owned by IBM,  who intend to offer a royalty free license under  */
/*-	any issued patent that results from such application if MARS is  */
/*-	selected as the AES algorithm.  In the interim, you may evaluate */
/*-	the MARS algorithm for your personal, lawful, non-profit purposes*/
/*-	as an end user.          										 */
/*-																	 */
/*-本程序的所有權(quán)利由作者保留							             */
/*-																     */
/*-																     */
/*-版本號(hào):1.0.0(2002.6)	     									 */
/*-																	 */
/*-																	 */
/*-AUTHOR:吳真(WUZHEN)												 */
/*-																	 */
/*********************************************************************/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <memory.h>
#include <malloc.h>
#include "mars.h"

typedef  int INT32;
typedef  char INT8;
typedef  unsigned char  ULONG8;
typedef  unsigned short ULONG16;
typedef  unsigned long  ULONG32;

#define SUCCESS 0 
#define FAIL -1


/*解密時(shí)密鑰的換位表*/
ULONG32 outkey[40] = { 0 };

#define WZ_COMMEND_NUM 4  
#define WZUSEHELPNUM 9
#define READFILESIZE 512 /*一次從文件中讀取多少字節(jié),可以根據(jù)內(nèi)存的大小調(diào)節(jié)*/

INT32 file_enc( FILE *readfile, FILE *writefile,ULONG8 *key,ULONG32 keylen);/*加密文件*/
INT32 file_dec( FILE *readfile, FILE *writefile,ULONG8 *key,ULONG32 keylen);/*解密文件*/
INT32 hextofile( ULONG8 *buf ,FILE *writefile, ULONG32 length);/*以16進(jìn)制寫入文件*/
INT32 encodehex(ULONG8 *tobuf,ULONG8 *frombuf,ULONG32 len);/*16進(jìn)制解碼*/
void wz_printhelp();/*打印幫助*/

INT8 *WZ_Commend_Help[] =
{
	
	"基于MARS的加密解密工具v1.0	 ",/*0*/	
	"追求卓越,勇于創(chuàng)新		 ",	
	"----著者 :  吳真---		 ",
	"			  	 "	
};

INT8 *WZ_USE_HELP[]={
	"輸入5個(gè)參數(shù):",
	"\t1.可執(zhí)行文件名 *.exe",
	"\t2.操作類型 1:加密;2:解密;",
	"\t3.讀出數(shù)據(jù)的文件名*.txt",
	"\t4.寫入數(shù)據(jù)的文件名*.txt",	
	"\t5.密鑰(16~32字節(jié))",	
	"\t 例: 1 1.txt 2.txt 1234567812345678",
	"\t	  : 2 2.txt 3.txt 1234567812345678",
	"******************************"
};


void main(INT32 argc,INT8 *argv[])
{
	INT8 *FILENAME1,*FILENAME2;    
	FILE *fp, *fp2;		
	ULONG8 key[33] = { 0 };	/*密鑰容器*/		
	ULONG32 keylen = 0 ;
	if ( argc != 5 )	
	{
		wz_printhelp();
		return;
	}
	FILENAME1 = argv[2];
	FILENAME2 = argv[3];
	if ((fp= fopen(FILENAME1,"r+b")) == NULL	|| (fp2 = fopen(FILENAME2,"w+b"))==NULL)
	{			
		printf("Can't open file\n");		
		return ;
	}  	
	keylen = ( strlen(argv[4]) < 32 )? strlen( argv[4]):32 ;
    memcpy( key, argv[4] , keylen );/*取得密鑰*/	
	switch( atoi(argv[1] ))
	{
	case 1:/*加密操作*/			
		file_enc(fp,fp2,key,keylen);				
		printf("\n \t MARS 加密完畢,密文存于%s文件\n",FILENAME2);
		break;
	case 2:
		/*解密*/
		file_dec(fp,fp2,key,keylen);	
		printf("\n \t MARS 解密完畢,明文存于%s文件\n",FILENAME2);
		break;
	default:	
		printf("請(qǐng)選擇是加密|解密 plese choose encrypt|deencrypt\n");		
		break;
	}
	
	fclose(fp);
	fclose(fp2);

	
}

INT32 hextofile( ULONG8 *buf ,FILE *writefile, ULONG32 length)
{
	ULONG32 writelen = 0 ;
		/*以16進(jìn)制形式寫入文件*/
    while( writelen < length)
	{
		if(buf[writelen] == 0)
		{
			fprintf( writefile, "%x", 0 );
			fprintf( writefile, "%x", 0 );
		}
		else if (buf[writelen] < 0x10)
		{
			fprintf( writefile, "%x", 0 );
			fprintf( writefile, "%x", buf[writelen] );				
		}
		else
		{
			fprintf( writefile, "%x", buf[writelen] );
			
		}			
		writelen++;
		
	}
	return SUCCESS;
}

INT32 file_enc( FILE *readfile, FILE *writefile,ULONG8 *key,ULONG32 keylen)
{
	INT32 filelen = 0,readlen = 0,writelen = 0;
	ULONG32 totalfilelen = 0 ;/*統(tǒng)計(jì)實(shí)際的文件的長(zhǎng)度*/
	
	ULONG8 readbuf[READFILESIZE] = { 0 };		
	make_enckey((ULONG32*)key,keylen,outkey);
	filelen = fread( readbuf, sizeof( INT8 ), READFILESIZE, readfile );
	while( filelen == READFILESIZE )
	{	
		totalfilelen += READFILESIZE;
		mars_enc((ULONG32*)readbuf,READFILESIZE/4 , outkey);
		hextofile( readbuf, writefile, READFILESIZE );/*以16進(jìn)制形式寫入文件*/
		memset(readbuf,0,READFILESIZE);	
		filelen = fread( readbuf, sizeof( INT8 ), READFILESIZE, readfile );
	}	
	/*這是從文件中讀出的最后一批數(shù)據(jù),長(zhǎng)度可能會(huì)等于0,所以要先判斷*/

	if ( (filelen > 0) && (filelen < READFILESIZE - 4) )
	{
		/*如果從文件中讀出的長(zhǎng)度不等于0,那么肯定有8個(gè)字節(jié)以上的空間
		文件長(zhǎng)度存在最后8個(gè)字節(jié)中*/
		totalfilelen += filelen;
		memcpy( &readbuf[READFILESIZE-4], (ULONG8*)&totalfilelen,4);	
		mars_enc((ULONG32*)readbuf,READFILESIZE/4,outkey);
		hextofile( readbuf, writefile,READFILESIZE );/*以16進(jìn)制形式寫入文件*/		
		memset(readbuf,0 ,READFILESIZE);
	}
	else if(filelen == 0)
	{
		memcpy( &readbuf[12], (ULONG8*)&totalfilelen,4);			
		mars_enc((ULONG32*)readbuf,4,outkey);/*加密相當(dāng)于16個(gè)字節(jié)*/		
		hextofile( readbuf, writefile, 16);/*以16進(jìn)制形式寫入文件*/		
	}
	else 
	{
		totalfilelen += filelen;		
		mars_enc((ULONG32*)readbuf,READFILESIZE/4,outkey);
		hextofile( readbuf, writefile,READFILESIZE );/*以16進(jìn)制形式寫入文件*/		
		memset(readbuf,0 ,READFILESIZE);
		memcpy( &readbuf[12], (ULONG8*)&totalfilelen,4);			
		mars_enc((ULONG32*)readbuf,4,outkey);/*加密相當(dāng)于16個(gè)字節(jié)*/		
		hextofile( readbuf, writefile, 16);/*以16進(jìn)制形式寫入文件*/		

	}
	return SUCCESS;
}

INT32 file_dec( FILE *readfile, FILE *writefile,ULONG8 *key,ULONG32 keylen)
{
	INT32 filelen = 0,readlen = 0,writelen = 0;
	ULONG32 totalfilelen = 0 ;/*統(tǒng)計(jì)實(shí)際的文件的長(zhǎng)度*/
	INT32 num;
	ULONG8 readbuf[READFILESIZE] = { 0 };
	ULONG8 sendbuf[READFILESIZE*2] = { 0 };		
	make_enckey( (ULONG32*)key ,keylen, outkey);
		

	fseek(readfile,-32,SEEK_END);/*最后16個(gè)字節(jié)的表示文件長(zhǎng)度的空間*/			
	filelen = fread( sendbuf, sizeof( INT8 ), 32, readfile );	
	encodehex( readbuf,sendbuf,16);		
	mars_dec((ULONG32*) readbuf, 4,outkey);				
	memcpy((ULONG8*)&totalfilelen, &readbuf[12],4);/*得到文件總長(zhǎng)*/
	memset(readbuf,0 ,16);
	memset(sendbuf,0 ,32);			
    
	num = totalfilelen/READFILESIZE;/*有幾個(gè)READFILESIZE組*/
	totalfilelen %= READFILESIZE;

	fseek(readfile,0,SEEK_SET);/*跳到文件頭*/	
	while(num--)
	{	
		filelen = fread( sendbuf, sizeof( INT8 ), READFILESIZE*2, readfile );			
		encodehex( readbuf,sendbuf,READFILESIZE);
		mars_dec((ULONG32*) readbuf, READFILESIZE/4,outkey);			
		writelen = fwrite(readbuf, sizeof( INT8 ), READFILESIZE, writefile);				  		
		memset(readbuf,0 ,READFILESIZE);
		memset(sendbuf,0 ,READFILESIZE*2);			
	}
	if ( totalfilelen > 0 )/*最后一塊有多余的元素*/
	{
		filelen = fread( sendbuf, sizeof( INT8 ), READFILESIZE*2, readfile );	
		encodehex( readbuf,sendbuf,READFILESIZE);
		mars_dec((ULONG32*) readbuf, READFILESIZE/4,outkey);			
		writelen = fwrite(readbuf, sizeof( INT8 ), totalfilelen, writefile);	
		memset(readbuf,0 ,READFILESIZE);
		memset(sendbuf,0 ,READFILESIZE*2);						
		
	}	
	return SUCCESS;
}

INT32 encodehex(ULONG8 *tobuf,ULONG8 *frombuf,ULONG32 len)
{
	ULONG8 *readfirst = frombuf ;
	ULONG8 *readend = &frombuf[1] ;	
	INT8 *s;
	ULONG8 y[2] ;		    
	ULONG32 i;
	for ( i = 0 ; i < len ; i++)
	{
		y[0] = *readfirst ;
		y[1] = *readend ;
		readfirst += 2 ;
		readend += 2 ;
		tobuf[i] = (ULONG8)strtol((INT8*)y, &s, 16);			
	}	
	return SUCCESS;
}

void wz_printhelp()
{
	INT32 i ;
	printf("\t");
	for (  i = 0 ; i < 22 ; i++)
	{
		printf("%c ",5);
	}
	printf("\n");
	for( i = 0 ; i < WZ_COMMEND_NUM ; i++)
	{
		printf("\t%c\t%s %c\n",5,WZ_Commend_Help[i],5);	
	}
	printf("\t");
	for (  i = 0 ; i < 22 ; i++)
	{
		printf("%c ",5);
	}	
	printf("\n");
	for( i = 0 ; i < WZUSEHELPNUM ; i++)
	{
		printf("\t%s\n",WZ_USE_HELP[i]);
	}
	return ;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久午夜精品| 欧美一区日韩一区| 亚洲妇熟xx妇色黄| 久久精品人人做人人爽97| 色视频欧美一区二区三区| 久久精品国产精品亚洲红杏| 综合电影一区二区三区| 精品伦理精品一区| 欧美视频自拍偷拍| 成人福利视频网站| 久久国产综合精品| 亚洲成a天堂v人片| 中文字幕一区二区三区色视频| 在线播放欧美女士性生活| av电影在线观看完整版一区二区| 麻豆成人久久精品二区三区红| 1区2区3区欧美| 久久久天堂av| 欧美成人午夜电影| 欧美日韩精品一区二区天天拍小说 | 国产日韩高清在线| 欧美一区二区三区播放老司机| 色综合久久久久| 国产传媒欧美日韩成人| 精品一区二区三区香蕉蜜桃| 亚洲综合色网站| 国产精品的网站| 欧美国产1区2区| 精品免费日韩av| 欧美一区二区视频观看视频| 欧美影院一区二区| 色婷婷av一区二区三区gif| 成人av网在线| 成人av手机在线观看| 粉嫩av一区二区三区粉嫩| 国产一区福利在线| 狠狠色丁香久久婷婷综合丁香| 蜜桃久久久久久| 日欧美一区二区| 日韩精品乱码免费| 免费视频一区二区| 日韩av电影免费观看高清完整版 | 亚洲少妇屁股交4| 国产精品家庭影院| 国产精品视频在线看| 国产精品欧美精品| 国产精品不卡在线观看| 1区2区3区欧美| 亚洲欧美日韩国产手机在线| 亚洲女人****多毛耸耸8| 日韩美女啊v在线免费观看| 亚洲欧洲一区二区在线播放| 亚洲色图19p| 亚洲综合区在线| 午夜婷婷国产麻豆精品| 日本va欧美va瓶| 久久精品国内一区二区三区| 国产一区久久久| 成人激情小说乱人伦| 色婷婷狠狠综合| 欧美日韩国产欧美日美国产精品| 欧美一区二区三区人| 久久夜色精品一区| 国产精品久久久久久久午夜片 | 亚洲乱码国产乱码精品精的特点| 伊人开心综合网| 日韩成人精品在线| 国产一区二区精品久久99| 波多野结衣在线aⅴ中文字幕不卡| 成人午夜在线播放| 欧美中文字幕不卡| 日韩三级在线免费观看| 国产亚洲女人久久久久毛片| 日韩毛片视频在线看| 午夜久久久影院| 黄页视频在线91| 99精品偷自拍| 7777精品伊人久久久大香线蕉经典版下载 | 久久久午夜电影| 亚洲六月丁香色婷婷综合久久 | 中文字幕欧美国产| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲国产精品久久不卡毛片| 看片的网站亚洲| 99精品欧美一区二区三区小说 | aaa国产一区| 在线不卡a资源高清| 国产性做久久久久久| 亚洲永久免费av| 国产一区999| 欧美在线观看视频一区二区三区| 日韩欧美一区中文| 中文字幕一区二区三区在线播放 | 亚洲综合免费观看高清在线观看| 麻豆精品视频在线| 色一情一乱一乱一91av| 精品国产网站在线观看| 一区二区三区美女视频| 国产综合一区二区| 欧美日韩一区视频| 国产精品久久综合| 麻豆91小视频| 欧美天堂一区二区三区| 欧美国产丝袜视频| 久久精品噜噜噜成人av农村| 欧美在线三级电影| 国产精品高清亚洲| 国产在线播放一区三区四| 欧美亚洲动漫制服丝袜| 国产欧美日韩精品a在线观看| 日本最新不卡在线| 欧美亚洲免费在线一区| 国产精品视频你懂的| 精品一区二区在线免费观看| 欧美丝袜自拍制服另类| 亚洲色图视频网站| 成人性生交大片免费看中文| 日韩精品最新网址| 视频一区二区三区在线| 91浏览器入口在线观看| 中文字幕欧美区| 国产精品99久久久久久似苏梦涵| 日韩欧美国产一区在线观看| 午夜免费欧美电影| 欧美日韩一区二区不卡| 亚洲免费在线观看视频| 成人av在线网| 欧美经典一区二区| 国产精品一区二区你懂的| 欧美变态凌虐bdsm| 久久精品国产久精国产| 日韩午夜中文字幕| 免费的成人av| 91精品国产综合久久国产大片| 亚洲一区二区三区自拍| 欧美在线视频你懂得| 亚洲成人免费观看| 欧美日韩国产三级| 日本欧美在线看| 日韩欧美色电影| 国产一区啦啦啦在线观看| 精品久久久久一区| 国产精品一区二区久久不卡 | 日韩午夜三级在线| 日产国产欧美视频一区精品| 日韩视频一区二区三区| 九九精品视频在线看| 久久综合久色欧美综合狠狠| 国产一区二区导航在线播放| 国产日产欧美一区二区三区 | 日韩一区二区三区视频在线观看 | 国产精品亚洲午夜一区二区三区 | 日韩极品在线观看| 日韩欧美一区在线| 国产麻豆视频一区二区| 国产无遮挡一区二区三区毛片日本| 国产成人亚洲综合a∨猫咪| 国产精品久久久久久久久快鸭| 91免费在线播放| 亚洲不卡一区二区三区| 欧美一区二区在线视频| 国产一区二区三区| 亚洲欧洲成人av每日更新| 色94色欧美sute亚洲线路二| 爽爽淫人综合网网站| 精品999久久久| eeuss鲁一区二区三区| 亚洲精品videosex极品| 69堂精品视频| 国产精品夜夜嗨| 亚洲日本在线看| 欧美高清精品3d| 国产精品综合二区| 亚洲欧美另类久久久精品| 欧美人体做爰大胆视频| 国产一区二区免费在线| 又紧又大又爽精品一区二区| 欧美一区二区福利视频| 成人ar影院免费观看视频| 午夜精品久久久久| 久久精品一区二区三区不卡牛牛 | 5566中文字幕一区二区电影 | 亚洲主播在线播放| 欧美成人国产一区二区| av亚洲精华国产精华精华| 性欧美疯狂xxxxbbbb| 国产欧美一区二区精品仙草咪| 欧美午夜宅男影院| 国产寡妇亲子伦一区二区| 亚洲综合在线观看视频| 26uuu国产日韩综合| 色婷婷一区二区| 国产精品自拍av| 日韩va亚洲va欧美va久久| 国产精品高潮久久久久无| 欧美一级在线视频| 欧美综合天天夜夜久久| 国产69精品久久777的优势| 五月天激情小说综合| 中文字幕在线观看一区|