【发布时间】:2012-04-14 11:38:07
【问题描述】:
我正在解决一个问题,但我有点卡住了,所以我想寻求您的帮助。我想制作一个具有以下功能的程序。用户将给出一个 4 位数的密钥和一个文本。
然后将使用以下方法将文本转换为密码。 假设文本输入是“ABC”,密钥是 123。然后,使用 ASCII 表,“ABC”将转换为“BDF”。文本将在 ASCII 表中向前移动 K 个位置,其中 K 是键的对应数字。考虑文本无限。我的第一个动作是将密钥转换为数组。
//scanning the cypher key
scanf("%d", &cypherkey);
//converting the cypher key into an array using a practical mathematic method for extracting its digit
int keyarray[4];
keyarray[0]= cypherkey/1000;
keyarray[1]= (cypherkey-keyarray[0]*1000)/100;
keyarray[2]= ((cypherkey-keyarray[0]*1000)- keyarray[1]*100)/10;
keyarray[3]= ((cypherkey-keyarray[0]*1000)- keyarray[1]*100)-keyarray[2]*10;
所以,现在我有一个数组中的键。但是,我找不到阅读文本然后对其进行加密的好方法。我不能使用数组,因为我们不知道文本的长度。
如果有任何帮助,我将不胜感激!
【问题讨论】:
-
循环读取文本,一次一个字符。
-
如果是homework,你应该这样标记它!
-
如果不是家庭作业,你不应该发明自己的密码——尤其是不那么明显的弱密码!
-
抱歉回复晚了,是的,这是我的编程课作业。我马上更新标签。
标签: c cryptography