注册 登录
编程论坛 C语言论坛

求一个换位加密的代码,要求如下,尽快,求求了,新人,救救孩子

wanxi777 发布于 2021-12-22 15:45, 1183 次点击
项目9:数据的加密与解密)要求:
(1)
采用换位法进行加密和解密;
(2)
输入英文句子后,再输入换位位数(密钥),即可输出密文;(3)
输入密文后再输入换位位数则可输出明文;(4)在此基础上,可进行文件操作。
2)涉及的内容或知识点:
内容:需求分析、概要设计、详细设计、程序调试、说明书撰写;
知识点:C语言的基本语法、结构化程序设计、数组、函数、结构体、指针等。
注:换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。例如英文Can you comeere若换位位数取4,则密文为comraueenchayoeb。
2 回复
#2
rjsp2021-12-22 16:13
我猜,题主根本没看过题目,更没思考过。

换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。例如英文Can you comeere若换位位数取4,则密文为comraueenchayoeb
密文的第一个字母“c”哪来的,明文的第一个字母是大写的“C”?算法描述中根本就没有 大写转小写 的规定;
密文中的“h”又哪来的?我怀疑你的明文应该是 can you come here

输入密文后再输入换位位数则可输出明文
从你这个加密算法来看,根本就做不到可逆。(删除空格,没法补;添加随机字母,没法删)
举个例子,若换位位数取4,密文aebfcgdh第一步解出来是abcdefgh
但可能h需要删除,可能gh需要删除,可能fgh需要删除,没法确定
然后还得添加空格,但你不知道在哪儿添加,添加几个
#3
wanxi7772021-12-22 16:36
回复 2楼 rjsp
抱歉,我开始图片转文字过来的要求,没仔细看。出了错误
输入时最好可以删除空格,复原就算了。添加随机字母还是填空格吧
这个是原来的要求
项目9:数据的加密与解密
1)要求:
(1)采用换位法进行加密和解密;
(2)输入英文句子后,再输入换位位数(密钥),即可输出密文;
(3)输入密文后再输入换位位数则可输出明文;
(4)在此基础上,可进行文件操作。
2)涉及的内容或知识点:
内容:需求分析、概要设计、详细设计、程序调试、说明书撰写;
知识点:C语言的基本语法、结构化程序设计、数组、函数、结构体、指针等。
注:换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。例如英文Can you come here若换位位数取4,则密文为comraueenchayoeb
1