在matlab解密消息吗?

7 Ansichten(30天)的
尼克Haufler
尼克Haufler 我30 Okt。2015
Bearbeitet: 尼克Haufler我30 Okt。2015
我试图在matlab解密消息。我的代码能够解密一些短消息低调,但是当我试图解密的消息像一个关键9它不会工作。我认为我的代码是正确的,但是我想我有一些缺陷。谁能帮忙吗?(使用ASCII值)
original_message =输入(“请输入你想要的消息解密:”,“年代”)%原始消息
关键=输入(“什么将你使用的加密密钥:“)
number_message =双(original_message)
k = 1:长度(original_message)
如果number_message (k) > = 65 & & number_message (k) < = 90
number_message (k) = number_message (k)的关键
如果number_message (k) < = 90
number_message (k) = number_message (k) + 26
结束
elseifnumber_message (k) > = 97 & & number_message (k) < = 122
number_message (k) = number_message (k)的关键
如果number_message (k) < = 122
number_message (k) = number_message (k) + 26
结束
结束
结束
流(“解密消息% s \ n”number_message)

Akzeptierte Antwort

杰夫•海斯
杰夫•海斯 我30 Okt。2015
尼克-在未来,请标记你的问题 家庭作业 。注意你的条件
如果number_message (k) > = 65 & & number_message (k) < = 90
如果上面的是真的,那么你的加密的值是在65年和90年之间,执行下面的代码
number_message (k) = number_message (k)的关键
所以加密的值 关键 减去。这意味着你的新区间的值,这是(65、90)现在(65 -键,90 -键)。重要的是解密值现在可以小于65。这意味着你的下一个检查应该为这些值
如果number_message < 65 (k)
number_message (k) = ? ? ?
结束
所以上述应如何调整?
2 Kommentare
杰夫•海斯
杰夫•海斯 我30 Okt。2015
对吧,所以你只需要调整你的“内在”条件考虑解密值是否小于65或者小于90。

Melden您西奇,嗯祖茂堂kommentieren。

Weitere Antworten (1)

TastyPastry
TastyPastry 我30 Okt。2015
有三件事不要使用您的代码:
  1. 它不工作的时候关键是> 26。
  2. 你的检查值是否字母是错误的。目前,代码试图将ASCII值回适当的范围65 - 90,97 - 122年这封信已经在范围之内。如。,如果the current letter is b, value 66, it would get changed to \, value 92.
  3. 不改变向量返回一个字符串。
这是我将添加/改变的代码:
number_message = char (number_message);
关键= mod(键,26);
number_message (k) < = 96
number_message (k) < = 64
我让你把置换作为练习。
同时,有很多的例子,凯撒密码写在MATLAB在线。我鼓励你看这些,因为这是一个常见的问题在大多数课程。
1 Kommentar
尼克Haufler
尼克Haufler 我30 Okt。2015
Bearbeitet:尼克Haufler 我30 Okt。2015
谢谢,我意识到我需要包括最后两个。我试着添加
number_message = char (number_message)
但它给了我一个错误。代码将解密一些消息,但其他一些长消息它试图解密部分意义就像一些单词是正确的和透明。
这是我补充说:
如果number_message < 65 (k)
number_message (k) = number_message (k) + 26
如果number_message < 97 (k)
number_message (k) = number_message (k) + 26

Melden您西奇,嗯祖茂堂kommentieren。

Kategorien

Mehr祖茂堂加密/密码法登您在帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的