永发信息网

求C语言课程设计——行列换位法加密与解密,那位大虾帮帮小弟了!

答案:2  悬赏:20  手机版
解决时间 2021-11-28 19:37
求C语言课程设计——行列换位法加密与解密,那位大虾帮帮小弟了!
最佳答案


#include
#include
#include
#define CODELEN 256

char *encode(char *dest,char *str,int key)
{
int i,j,len,len2,n=0;
len=strlen(str);

if((len % key)!=0) len2=len+ key-(len % key);
else len2=len;
srand(time(NULL));
for(i=len;istr[i]=(char)((rand() % 26) + (rand() % 1)*('A'-'a')+'a');
str[len2]=0;
for(j=0;jfor(i=0;idest[n++]=str[i*key+j];
dest[n]=0;
str[len]=0;
return dest;
}

char *decode(char *dest,char *str,int key)
{
int i,j,len,n=0;
len=strlen(str);
if((len % key)!=0) return NULL;
len=len / key;
for(i=0;ifor(j=0;j{

dest[n++]=str[j*len+i];
//printf("%c",dest[n-1]);
}
dest[n]=0;

return dest;
}

int main()
{
int key,i,j,len;
char str[CODELEN];
char xstr[CODELEN];
scanf("%s",str);
scanf("%d",&key);//输入密钥

printf("原始明文:%s\n",str);
printf("加密密文:");

encode(xstr,str,key);
printf("%s\n",xstr);

if(decode(str,xstr,key)!=NULL)
{printf("%s\n",str);}
else
{printf("NULL");}
}
全部回答
自己想想就会了,煅炼下,这个其实不难,你要是想作的话是不难做的
学程序就是要思考,只读别人的代码不会创新和培养能力是万万不行的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
德国洋甘菊的功效及作用
开机按F12进入里面之后出现的选项这些都是什
iphone7 连接电脑总自动弹出这个窗口怎么才能
纷纷闾巷士这首诗的名字
北京星探最多的地方
在主城大街上突然吐了是咋回事
禹王台区开封放心超市(中山路南段)在哪里啊,
2a十b=3 3a十b二4
2005年捷达汽车还值多少钱?
想买双鞋,是去线下专卖店买还是淘宝买还是京
谁有桃色小乡村的资源,共享一下呗,跪求资源
柿子饼怎么做
大家帮我看看我在合肥买的火车票明天八点的火
全新福15和16加导航价格相同吗
塑胶塑料抗UV老化试时抗UV性能等级评价标准
推荐资讯
《朝花夕拾》中怀念长妈妈的是哪一篇,写塾师
交睫甫睡的意思
肥什么大什么成语?
麻辣鱼怎么做?最简单又好吃的做法???
男子卖散煤被拘留你怎么看?
56天比熊细小
7技能画魂胚子220元贵没
想上拍吴悦石字画拍卖值多少钱一平尺
下列有关森林的叙述中,错误的是A.森林占据了
什么胶水沾塑料 关键是要抵制汽油侵蚀.AB胶试
用"辆"组成的四字成语有哪些?
梦见有人送幼鸽
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?