用c语言编写置换算法 一种有密钥,一种无密钥。在线坐等高手 不要太难的 希望写详细点 不用改就直接用的

(1)置换密码技术实现程序开发老师是这样写的别的我真的再不懂了明文是proceedmeetingasagreed无密钥proceedmeetiasagreed加密后是pe... (1) 置换密码技术实现程序开发 老师是这样写的 别的我真的再不懂了
明文是proceed meeting as agreed
无密钥proc
eedm
eeti
asag
reed 加密后是peeareesseodtaecmtgd
有密钥是 proc eedm eeti ngas agre ed 加密后是rcpoemedeietgsnagearde
用c语言实现这个算法 vb也行 说详细点好吗
展开
 我来答
wangtk1982
2010-12-10 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1442万
展开全部
你的无密钥的例子有问题
你漏掉了里面的ng

#include <stdio.h>
#include <string.h>

#define MAXBUF 1024
int main(int argc, char* argv[])
{
char buf[MAXBUF],bufout[MAXBUF]={0},*p;
int i,j,t;
printf("输入搜此灶一个字符串\n");
gets(buf);

/扒羡/去掉空格
for (p=buf;*p;p++)
while(*p==' ')
strcpy(p,p+1);

//补齐4位所需的空格
t=strlen(buf);
for (p=buf+t,i=0;i<t%4;i++)
*p++='世扮 ';
*p=0;

//无密钥加密
t=strlen(buf)/4;
for (i=0;i<4;++i)
for (j=0;j<t;++j)
bufout[j+t*i]=buf[i+4*j];
printf("无密钥:%s|\n",bufout);

//有密钥加密
for (i=0;i<t;i++)
{
bufout[i*4]=buf[i*4+1];
bufout[i*4+1]=buf[i*4+3];
bufout[i*4+2]=buf[i*4];
bufout[i*4+3]=buf[i*4+2];
}
printf("有密钥:%s|\n",bufout);

return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
焦虑哥30岁
2010-12-06 · TA获得超过119个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:56.3万
展开全部
置换算法
密钥
不太懂
能说的更清楚些吗
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿呖噶祷honey
2010-12-07 · TA获得超过222个赞
知道小有建树答主
回答量:275
采纳率:90%
帮助的人:180万
展开全部
Mark一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式