【发布时间】:2014-11-08 06:51:16
【问题描述】:
我想通过为字母表中的每个字母分配一个数值来使用简单的 Vigenere 密码来加密消息,例如A = 1; B= 2;..Z= 26. 问题是我不知道使用哪个函数来识别字符串中的字符(因为它是必须编码的消息,带有空格),然后给它一个特定的数值。
接下来,必须将该数字消息转换为二进制,这很容易,但是如何将字符串消息转换为整数(除 StrToInt 函数之外)?
我只需要知道 Vigenere Cipher 使用哪个函数。 *我还在上高中,所以我提前为使用错误的术语道歉。
【问题讨论】:
-
那么,空间是如何编码的?那么标点符号呢?你应该直接去二进制。这不是加密。
-
我会为空格和标点使用不同的数值,而且我必须同时使用这两种编码类型,因为这个赋值的要求规定了这一点。
-
例如,使用 case 语句,并直接映射到字节数组。我建议你尝试一下你的任务。或者至少弄清楚你被困在哪里。例如,您知道如何读取字符串的第 i 个字符吗?你知道如何制作动态数组吗?你知道什么是案例陈述吗?你写过代码吗?
-
好吧,我就用case语句,但不是有限制吗?我可以使用 26 个以上的箱子吗?
-
@SilverWarior,这是另一个 Borkadero 的内容错误,查看描述,它正确地说明了结果的维度。
Ord从一开始就与WideChar合作。实际上,WideChar类型不需要特别支持,因为它是一个序数类型。
标签: function delphi delphi-2010 vigenere