c实现RC4算法的范文.docVIP

  • 6
  • 0
  • 约1.29千字
  • 约 4页
  • 2022-03-04 发布于浙江
  • 举报
#includeiostream #includecstring using namespace std; void main() { char choose1,choose2; do{ int temp,s[256],t[256],i,j; char plaintext[1024],ciphertext[1024]; cink; { s[i]=i; t[i]=k[i%strlen(k)]; } j=0; for( i=0;i256;i++) { j=(j+s[i]+t[i])%256; temp=s[i]; s[i]=s[j]; s[j]=temp; } cinplaintext; int m,n,key[256],q; m=n=0; { m=(m+1)% 256; n=(n+s[n])% 256; temp=s[m]; s[m]=s[n]; s[n]=temp; q=(s[m]+s[n])%256; key[i]=s[q]; ciphertext[i]=plaintext[i]^key[i]; coutciphertext[i]; } ciphertext[i]=\0; coutendl; cinchoose2; while(choose2==y||choose2==Y) { choose2=n; } coutendl; cout\n继续使用程序?(y/n); cinchoose1; }while(choose1==y||choose1==Y); cout\n**程序结束**endlendl; system(pause); } void crypt(char cipher[]) { int s[256],t[256],i,j,temp; char plaintext[1024]; cink; for(i=0;i256;i++) { s[i]=i; t[i]=k[i%strlen(k)]; } j=0; { j=(j+s[i]+t[i])%256; temp=s[i]; s[i]=s[j]; s[j]=temp; } int m,n,key[256],q; m=n=0; cout\n明文是:endl; { m=(m+1)% 256; n=(n+s[n])% 256; temp=s[m]; s[m]=s[n]; s[n]=temp; q=(s[m]+s[n])%256; key[i]=s[q]; plaintext[i]=cipher[i]^key[i]; coutplaintext[i]; } coutendl; }

文档评论(0)

1亿VIP精品文档

相关文档