字符串的加密和解密。

时间:2012-08-12 10:59:07

标签: vba encryption

我被赋予了加密字符串的任务,但我必须创建自己的加密技术。 我知道如何做到这一点。我可以将字符串中的每个值与一个数字相关联,如下所示:

A = 0
B = 1
...

然后我想用数字替换十位及更高位的数字:如果输入字符串“DOG”则必须显示

3.46 // . is 1 and .. is 2
     // .4 is 14

我想听听你的想法。

我获得了一个可视化的基本形式。我可以输入一个字符串;没关系。

Input = txtInputString.Text

但我还要解密一个字符串。要显示我想要解密我必须拥有的字符串

string, false

,虚假显示我想要解密字符串。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

如果使用Ceasar Cipher这样的简单方法,简单英文文本的加密和解密就相当顺利。

但是,您必须确定如何表示该语言中的所有符号。这不仅包括字母,还包括数字和空格,也可能包括标点符号。

standard ASCII character set拥有您可能需要的大部分英语,问题在于您是否希望通过将符号限制为仅包含大写字母,数字和空格来简化字母表。人类通常可以阅读文本,特别是短文本,即使它没有标点符号。

简单密码的方法是在字母表中包含符号表(大写字母,数字0到9,以及空格字符)。接下来重新排列表格,使其不按排序顺序。

进行加密时,您需要获取每个字符,在表格中查找并确定表格中的两位数偏移量。这个两位数字将是该字符的加密符号,并且是您作为加密字符串的一部分写出来的。

在进行解密时,您将采用每两位数对并将其用作表中的偏移量,在表中找到该位置的字符,并将表中的字符作为解密字符串的一部分写出来

您的加密字符串将是一系列两位数字对,它们全部串在一起作为一个长号。

对于您的表单,我希望有两个文本输入组,每个组都有一个按钮,一个文本输入字段和一个文本显示字段。第一组将用于加密文本,并且一旦输入文本,您将按下该按钮以执行加密。加密文本将显示在文本输入字段下方的字段中。

第二组将是要解密的文本以及您要按下以执行解密的按钮。