问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁能给我发个置换密码的加密解密源代码 还有关于置换密码实验的...5

发布网友 发布时间:2024-03-02 23:05

我来回答

1个回答

热心网友 时间:2024-03-30 13:41

#include<stdio.h>
#define N 3
main()
{char choose;
char p[N+1];
char c[N+1];
int key[2][N];
int dekey[2][N];
int i,j;
int k;
printf("encryption press E or e\ndecyption press D or d\n");
choose=getchar();
getchar();
if(choose=='E'||choose=='e')
{printf("输入密钥置换阵:");
for(i=0;i<2;i++)
for(j=0;j<N;j++)
scanf("%d",&key[i][j]);
getchar(); /*接收回车符*/
printf("加密密钥置换阵为:\n");
printf("-------------------------------------------------------------\n");
for(i=0;i<N;i++)
printf("%5d",key[0][i]);
printf("\n-------------------------------------------------------------\n");
for(i=0;i<N;i++)
printf("%5d",key[1][i]);
printf("\n-------------------------------------------------------------\n");

printf("明文:");
gets(p);
printf("明文:%s\n",p);

for(i=0;i<N;i++)
{k=key[1][i];
c[i]=p[k];
}
c[N]='\0';
printf("密文:%s\n",c);

}
if(choose=='D'||choose=='d')
{
printf("输入密钥置换阵:");
for(i=0;i<2;i++)
for(j=0;j<N;j++)
scanf("%d",&key[i][j]);
getchar();/*接收回车符*/
printf("加密密钥置换阵为:\n");
printf("-------------------------------------------------------------\n");
for(i=0;i<N;i++)
printf("%5d",key[0][i]);
printf("\n-------------------------------------------------------------\n");
for(i=0;i<N;i++)
printf("%5d",key[1][i]);
printf("\n-------------------------------------------------------------\n");

for(i=0;i<N;i++)
dekey[0][i]=i;
for(j=0;j<N;j++)
for(k=0;k<N;k++)
if(key[1][k]==j)
dekey[1][j]=k;
printf("解密密钥置换阵为:\n");
printf("-------------------------------------------------------------\n");
for(i=0;i<N;i++)
printf("%5d",dekey[0][i]);
printf("\n-------------------------------------------------------------\n");
for(i=0;i<N;i++)
printf("%5d",dekey[1][i]);
printf("\n-------------------------------------------------------------\n");

printf("密文:");
gets(c);
printf("密文:%s\n",c);

for(i=0;i<N;i++)
{k=dekey[1][i];
p[i]=c[k];
}
p[N]='\0';
printf("明文:%s\n",p);

}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
LG棒棒糖GD580这么看书 lg gd580怎么用moto看小说 各种海鲜馅饺子大全 海鲜水饺都有什么馅儿的 用网上交易系统进行股票操作资金安全吗,我是在中信建投开的户 北京瀚正化妆学校包就业吗 通江车检在哪里,可以摩托车年审不? 摩托车年审在通江县哪里啊 我是四川省通江县人、我是摩托车驾驶证,以快到期,请问我在江苏无锡... 通江县哪里可以托运摩托车 置换密码的应用说明1 求助:三个古典密码的VC++程序,密码算法已给 十六个监控画面里如何设置其中一个为黑屏? ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 对于C语言初学的编程者,现在在学数据结构,大二了,编了三个程... C语言的基础很差,上个学期考试的时候还挂了,挂的比较惨,现在... 2022年成都市中考什么时候进行? ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 小石桥桥边的石缝里除了长满了野草还有一棵什么树 小石桥美丽的原因是什么? 拼音如何输入带有声调的字? 有谁帮我注册下机器码FF7DC3281FB2B62E51186D25334A269D b站签到领硬币在哪领 ...就到诊所看了看,高血压136、低压98、心率103。拿了点药分别是... 沧州交通学院建档立卡免学费吗 乌兰察布职业学院对河北建档立卡户免学费吗 我买了酷开小企鹅K32,卧室只有互联网能看电视直播吗? 秦都技术创新人才协会证书查询不到 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 没戴头盔第一次警告 ea申诉邮件发不出去 一年没满 想更改怎么更改 修改未满一年怎么修改 ()是“价值创造”导向,商业战略是“建立竞争优势”导向。 二档换三档有顿挫感怎么解决如何解决二档换三档有顿挫感 1984年农历8月15日早上6点半出生女生,命运? 一年没满 想更改怎么更改? 不满足一年想改 修改未满一年怎么修改 修改没到一年怎么改? ...男的想害自己的女朋友,有两集的,一集在海边,一集是野营 不满一年如何更改? 二级建造师职业资格证书已经拿到了怎么注册到自己公司呢 去哪个...6 二级建造师注册满期后(三年后),那该怎么办11 不满一年如何更改? 一年未满怎么才能修改? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信...