0

文字列を暗号化するタスクを与えられましたが、独自の暗号化技術を作成する必要があります。私はそれを行う方法のアイデアを持っています。次のように、文字列内の各値を数値に関連付けることができます。

A = 0
B = 1
...

そして、10 桁以上の数字を文字に置き換えたい: 文字列「DOG」を入力すると、表示される必要があります

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

あなたの考えを聞きたいです。

作業するための視覚的な基本フォームが与えられました。文字列を入力できます。それは結構です。

Input = txtInputString.Text

しかし、文字列を復号化する必要もあります。私が持っている必要がある文字列を解読したいことを示すために

string, false

、文字列を復号化したいことを示す偽。どうすればいいですか?

4

1 に答える 1

0

シーザー暗号などの単純な方法を使用する場合、単純な英語のテキストの暗号化と復号化はかなり簡単です。

ただし、言語ですべての記号をどのように表現するかを決定する必要があります。これには、文字だけでなく、数字やスペース、場合によっては句読点も含まれます。

標準のASCII文字セットには、英語に必要なもののほとんどが含まれています。問題は、記号を大文字、数字、およびスペースのみに制限してアルファベットを単純化するかどうかです。人間は通常、句読点がなくてもテキスト、特に短いテキストを読むことができます。

単純な暗号のアプローチは、アルファベットの記号の表(大文字、0から9までの数字、およびスペース文字)を用意することです。次に、並べ替えられた順序にならないようにテーブルを再配置します。

暗号化を行うときは、各文字を取得し、それをテーブルで調べて、テーブル内の2桁のオフセットを決定します。この2桁の数字は、その文字の暗号化記号であり、暗号化の文字列の一部として書き出すものです。

復号化を行うときは、2桁のペアをそれぞれ取得し、それをテーブルへのオフセットとして使用し、テーブル内のその場所にある文字を見つけて、復号化の文字列の一部としてテーブルから文字を書き出します。

暗号化された文字列は、1つの長い数字としてすべて一緒につながれた一連の2桁のペアになります。

フォームには、ボタン、テキスト入力フィールド、およびテキスト表示フィールドがそれぞれある2つのテキスト入力グループがあると思います。最初のグループはテキストを暗号化するためのものであり、テキストが入力されたら暗号化を実行するために押すボタンです。暗号化テキストは、テキスト入力フィールドの下のフィールドに表示されます。

2番目のグループは、復号化するテキストと、復号化を実行するために押すボタンです。

于 2012-08-12T11:34:58.993 に答える