欢迎来到天天文库
浏览记录
ID:38965756
大小:64.50 KB
页数:3页
时间:2019-06-22
《应用密码学74234》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#includetypedefunsignedlongULONG;voidrc4_init(unsignedchar*s,unsignedchar*key,unsignedlongLen)//初始化函数{inti=0,j=0;chark[256]={0};unsignedchartmp=0;for(i=0;i<256;i++){s[i]=i;k[i]=key[i%Len];}for(i=0;i<256;i++){j=(j+s[i]+k[i])%256;tmp=s[i];s[i]
2、=s[j];//交换s[i]和s[j]s[j]=tmp;}}voidrc4_crypt(unsignedchar*s,unsignedchar*Data,unsignedlongLen)//加解密{inti=0,j=0,t=0;unsignedlongk=0;unsignedchartmp;for(k=0;k3、intmain(){unsignedchars[256]={0},s2[256]={0};//S-boxcharkey[256]={"justfortest"};charpData[512]="这是一个用来加密的数据Data";ULONGlen=strlen(pData);printf("pData=%s",pData);printf("key=%s,length=%d",key,strlen(key));rc4_init(s,(unsignedchar*)key,strlen(key));//已经完成了初始化prin4、tf("完成对S[i]的初始化,如下:");for(inti=0;i<256;i++){printf("%-3d",s[i]);}printf("");for(i=0;i<256;i++)//用s2[i]暂时保留经过初始化的s[i],很重要的!!!{s2[i]=s[i];}printf("已经初始化,现在加密:");rc4_crypt(s,(unsignedchar*)pData,len);//加密printf("pData=%s",pData);printf("已经加密,现在解密:");r5、c4_init(s,(unsignedchar*)key,strlen(key));//初始化密钥rc4_crypt(s2,(unsignedchar*)pData,len);//解密printf("pData=%s",pData);return0;}
3、intmain(){unsignedchars[256]={0},s2[256]={0};//S-boxcharkey[256]={"justfortest"};charpData[512]="这是一个用来加密的数据Data";ULONGlen=strlen(pData);printf("pData=%s",pData);printf("key=%s,length=%d",key,strlen(key));rc4_init(s,(unsignedchar*)key,strlen(key));//已经完成了初始化prin
4、tf("完成对S[i]的初始化,如下:");for(inti=0;i<256;i++){printf("%-3d",s[i]);}printf("");for(i=0;i<256;i++)//用s2[i]暂时保留经过初始化的s[i],很重要的!!!{s2[i]=s[i];}printf("已经初始化,现在加密:");rc4_crypt(s,(unsignedchar*)pData,len);//加密printf("pData=%s",pData);printf("已经加密,现在解密:");r
5、c4_init(s,(unsignedchar*)key,strlen(key));//初始化密钥rc4_crypt(s2,(unsignedchar*)pData,len);//解密printf("pData=%s",pData);return0;}
此文档下载收益归作者所有