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

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

?? rc4.cpp

?? 這是一個關于密碼學RC4算法(原創代碼)
?? CPP
字號:
//  兩者都作為字符用的話是沒有區別的,但當整數用時有區別:   
//  char   整數范圍為-128到127,而unsigned   char   整數范圍為0到255

  #include   <stdio.h>   
  #include   <string>    
  #define   buf_size   1024 
  #define LEN sizeof(struct slink)
  int count;
  typedef   struct   rc4_key   
  {               
        unsigned   char   state[256];                 
        int  x;                   
        int  y;   
  }   rc4_key;   
    
 typedef struct slink
{ 
	  unsigned char cha;
    struct slink *next;
 } slink;

  static   void   swap_byte(unsigned   char   *a,   unsigned   char   *b);   
// #define   swap_byte(x,y)   t=*(x); *(x)=*(y); *(y)=t   
    
  void   prepare_key(unsigned   char   *key_data_ptr,   int   key_data_len,   rc4_key   *key)   
  {     
//    unsigned   char   swapByte;   
      int   index1;   
      int   index2;   
      unsigned   char*  state;   
      short    counter;   
    
      state   =   &key->state[0];   
      for(counter   =   0;   counter   <   256;   counter++)   
      state[counter]   =   counter;   
      key->x   =   0;   
      key->y   =   0;   
      index1   =   0;   // index1 控制重復填充 K
      index2   =   0;   // j
      for(counter   =   0;   counter   <   256;   counter++)   
      {   
          index2   =   (key_data_ptr[index1]   +   state[counter]   +   index2)   %   256;   
          swap_byte(&state[counter],   &state[index2]);   
          index1   =   (index1   +   1)   %   key_data_len;   
      }   
  }   
    
  void   rc4(struct  slink   *buffer_ptr,   int   buffer_len,   rc4_key   *key)   
  {   
      int   x; 
      int   y; 
      unsigned   char*  state;   
      unsigned   char   xorIndex;   
      short   counter;   
	  struct  slink   *p1,*p2;
      p1=p2=(struct slink * )malloc(LEN);
	  p1=buffer_ptr;
      x   =   key->x;   //  i
      y   =   key->y;   //  j
      state   =   &key->state[0];   
      for(counter   =   0;   counter   <   buffer_len;   counter++)   
      {   
          x   =   (x+1)   %   256;   
          y   =   (state[x]+y)   %   256;   
          swap_byte(&state[x],&state[y]);   
          xorIndex=(state[x]+state[y])%256;   
          p1->cha   ^=   state[xorIndex];//^異或運算
		  p1=p1->next;
      }   
      key->x   =   x;   
      key->y   =   y;   
  }   

  void   rc41(unsigned char   *buffer,   rc4_key   *key)   
  {   
      int   x; 
      int   y; 
      unsigned   char*  state;   
      unsigned   char   xorIndex;   
  
      x   =   key->x;   //  i
      y   =   key->y;   //  j 
		state   =   &key->state[0]; 
          x   =   (x+1)   %   256;   
          y   =   (state[x]+y)   %   256;   
          swap_byte(&state[x],&state[y]);   
          xorIndex=(state[x]+state[y])%256;   
          *buffer   ^=   state[xorIndex];//^異或運算  
      key->x   =   x;   
      key->y   =   y;   
  }   
    
  static   void   swap_byte(unsigned   char   *a,   unsigned   char   *b)   
          {   
                  unsigned   char   swapByte;     
                    
                  swapByte   =   *a;     
                  *a   =   *b;               
                  *b   =   swapByte;   
          } 


  struct slink *input(void)//輸入明文并且返回頭指針,沒有加密時候轉化的數字
{   
  struct  slink *head;
  struct  slink *p1,*p2;
    unsigned char  c,ch;

	p1=p2=(struct slink * )malloc(LEN);
	head=NULL;
	printf("Input the content : \n\n");
while((ch=getchar())!='\n')
   {
	c=ch;
	p1->cha=c;
	count=count+1;
	if(count==1)
		head=p1;
	else p2->next=p1;
	p2=p1;
    p1=(struct slink * )malloc(LEN);
	}
    p2->next=NULL; 
	return(head);
}

  int   main(int   argc,    char*   argv[])   //加密二進制文件和文本文件
  {   
          char   seed[256]; 
		  unsigned   char keydata[256],ch;
	      char   data[512];   
//      unsigned char   buf[buf_size];   
      char   digit[2];   
      int   hex,   rd,i;   
      int   n;   
	  struct  slink *head,*p1;
      rc4_key   key; 
	  	char c;  
		FILE *fpr,*fpw; 

	  strcpy(seed,argv[1]);   

      n   =   strlen(seed);  
	for(i=0;i<n;i++)
	{
		keydata[i]=(unsigned char)seed[i];
	}

      prepare_key(keydata,n,&key); 


  if(argc<4){printf("參數太少\n");return 0;} 
  if((fpr=fopen(argv[2],"rb"))==NULL)
  {
	  printf("文件%s不能打開\n",argv[2]);
	  return 0;
  } 
 if((fpw=fopen(argv[3],"wb"))==NULL)
 {
	 printf("文件%s不能打開\n",argv[3]);
	 return 0;
 }


 while(!feof(fpr))
 {
	c=fgetc(fpr); 
	ch=(unsigned char)c;
	rc41(&ch,&key);
	c=(signed char)ch;
	fputc(c,fpw);
 } 
 fclose(fpr);
 fclose(fpw); 
      

//      strcpy(data,argv[1]);   
//      n   =   strlen(data);   

/*      if   (n&1)   
      {   
          strcat(data,"0");   
          n++;   
      }         //把n恒變為偶數 
      n/=2; 
//	  printf("%s\n",data);
//	  printf("%d",n);

//      strcpy(digit,"AA");  
//
      for   (i=0;i<n;i++)   
      {   
          digit[0]   =   data[i*2];   
          digit[1]   =   data[i*2+1];   
          sscanf(digit,"%x",&hex);
		  printf("%d\n",hex);
          seed[i]   =  hex;   
		  printf("%c\n",seed[i]);
      }  */


         
   

 //     rd = fread(buf,1,buf_size,stdin);   

/*      while   (rd>0)   
      {   
          rc4(buf,rd,&key);   
          fwrite(buf,1,rd,stdout);   
          rd   =   fread(buf,1,buf_size,stdin);   
      }*/   

	  return 1;
  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜影院久久久| 91视频精品在这里| 久久激情五月婷婷| 日本少妇一区二区| 丝袜美腿高跟呻吟高潮一区| 亚洲综合在线五月| 亚洲电影一级片| 天天色综合成人网| 日韩成人免费电影| 久久99国产精品麻豆| 加勒比av一区二区| 成人亚洲一区二区一| 成人国产精品免费观看视频| 成人手机在线视频| 色综合久久久久久久| 在线欧美一区二区| 91精品国产综合久久香蕉麻豆| 555www色欧美视频| 久久一区二区三区国产精品| 久久久久久久久久久久久久久99| 国产色婷婷亚洲99精品小说| 亚洲国产精品成人综合| 最新国产の精品合集bt伙计| 亚洲精品成人悠悠色影视| 亚洲午夜久久久久| 麻豆精品新av中文字幕| 国产精品一二三四| 色婷婷av一区二区三区gif | 日本精品裸体写真集在线观看| 色婷婷精品大视频在线蜜桃视频 | 国产精品久久久久久亚洲毛片| 国产精品理论片| 亚洲成人午夜电影| 国产美女娇喘av呻吟久久| 成人av高清在线| 欧美日韩不卡一区二区| 精品国产一区二区三区久久影院 | 欧美久久婷婷综合色| 精品国产露脸精彩对白| 欧美激情一区在线观看| 亚洲国产日韩av| 韩国中文字幕2020精品| 91一区一区三区| 日韩女优av电影在线观看| 中文字幕精品一区| 五月婷婷另类国产| 国产iv一区二区三区| 欧美亚洲动漫精品| 国产视频一区二区在线| 亚洲bt欧美bt精品777| 国产盗摄视频一区二区三区| 色综合激情五月| 久久久蜜桃精品| 亚洲成a人片在线不卡一二三区 | 成人免费高清视频在线观看| 欧美色老头old∨ideo| 国产亚洲欧美中文| 午夜精品视频一区| 99国产麻豆精品| 日韩欧美国产三级电影视频| 最近中文字幕一区二区三区| 美国三级日本三级久久99| 91九色02白丝porn| 国产人久久人人人人爽| 日本欧美久久久久免费播放网| 成人福利在线看| 精品国产乱码久久久久久久| 一区二区三区成人在线视频| 国产高清精品久久久久| 日韩一区二区三区在线视频| 亚洲免费观看视频| 国产不卡视频一区| 精品国内二区三区| 午夜伊人狠狠久久| 在线亚洲人成电影网站色www| 久久精品男人天堂av| 日本不卡在线视频| 欧美视频在线播放| 亚洲少妇中出一区| 成人h版在线观看| 久久久不卡影院| 六月丁香婷婷久久| 4hu四虎永久在线影院成人| 亚洲精品一二三区| 99精品视频在线播放观看| 国产日韩精品久久久| 久久国产精品99精品国产| 欧美精品在线一区二区| 亚洲一区中文日韩| 色88888久久久久久影院按摩| 国产精品视频一二三| 国产福利精品一区| 久久只精品国产| 久久国产欧美日韩精品| 日韩一区二区精品在线观看| 亚洲二区在线观看| 欧美日韩日本视频| 午夜精品福利一区二区三区av| 色香蕉成人二区免费| 亚洲精品免费视频| 一本大道久久a久久精二百 | 国产精品一区二区在线观看不卡| 91精品国产综合久久香蕉麻豆| 亚洲成人综合在线| 欧美日韩不卡一区二区| 日韩中文字幕亚洲一区二区va在线 | 色综合天天狠狠| 亚洲精品日韩一| 欧美中文字幕一二三区视频| 亚洲自拍偷拍麻豆| 欧美日韩国产一级二级| 手机精品视频在线观看| 欧美一区二区视频观看视频| 麻豆视频观看网址久久| 精品免费一区二区三区| 国产麻豆午夜三级精品| 国产日产精品一区| 91蜜桃在线观看| 亚洲国产成人porn| 日韩一区二区电影网| 国产综合久久久久影院| 国产精品色婷婷久久58| 97精品电影院| 午夜不卡av免费| xf在线a精品一区二区视频网站| 国产九九视频一区二区三区| 国产精品成人免费| 欧美在线观看你懂的| 五月天亚洲婷婷| 久久久久久久综合狠狠综合| 成人成人成人在线视频| 亚洲一区二区三区不卡国产欧美| 制服视频三区第一页精品| 国内精品自线一区二区三区视频| 国产精品天美传媒沈樵| 欧美在线短视频| 精品综合久久久久久8888| 国产精品麻豆一区二区| 欧美亚洲国产怡红院影院| 麻豆精品一区二区| 国产精品久久久久久久久免费樱桃 | 蜜桃av一区二区三区电影| 国产午夜精品久久久久久久| 91亚洲精品久久久蜜桃网站| 日精品一区二区| 中文字幕精品在线不卡| 欧美久久婷婷综合色| 国产精品一区二区果冻传媒| 亚洲色图在线播放| 精品国产百合女同互慰| 色8久久精品久久久久久蜜| 美女一区二区在线观看| 中文字幕亚洲一区二区av在线| 欧美日本一道本在线视频| 丁香啪啪综合成人亚洲小说| 亚洲成av人片观看| 中文字幕免费一区| 日韩一级片网址| 91亚洲精品久久久蜜桃| 国产一区二区三区四区在线观看| 亚洲精品久久嫩草网站秘色| 精品国产乱码久久久久久闺蜜| 国产日韩欧美a| 91精品国产综合久久小美女| fc2成人免费人成在线观看播放| 人禽交欧美网站| 亚洲欧美成人一区二区三区| 欧美va天堂va视频va在线| 91国偷自产一区二区使用方法| 国产伦理精品不卡| 日韩av一区二区三区| 一区二区三区av电影| 国产女主播一区| 欧美大度的电影原声| 欧美午夜精品久久久久久超碰| 成人免费黄色在线| 国产美女精品在线| 蜜桃视频免费观看一区| 亚洲国产欧美一区二区三区丁香婷| 国产日韩综合av| 精品国产91久久久久久久妲己| 欧美视频一区二区三区在线观看| 国产不卡视频一区二区三区| 精品亚洲免费视频| 日韩高清不卡一区| 香蕉成人伊视频在线观看| 亚洲六月丁香色婷婷综合久久 | 亚洲日本欧美天堂| 亚洲国产电影在线观看| 久久婷婷国产综合国色天香| 制服丝袜亚洲网站| 欧美精品第一页| 欧美日韩国产天堂| 欧美亚洲综合色| 在线观看国产日韩| 色综合久久综合网97色综合| 成人高清视频免费观看| 国产精品自在在线| 日本一不卡视频| 日韩精品色哟哟|