何youreのがここで達成しようとしてと呼ばれています。例えば
あなたは通常、あなたが持っているだろうと言う:A = 1、A = 2、B = 3、B = 4、等...
その後、あなたはどの "シフト" "キー" を持っています手紙。 A = 4、a = 5、B = 6、b = 7など...
これは、キーが「3」であると言うことができます。もちろん、皇帝の暗号化を行うための唯一の方法です。これが最も基本的な例です。
A = G、a = g、B = H、b = hなど...または
A = G、a = H、 B = I、b = Jなど...
あなたは私が何を話しているか理解していますか?ここでも、これはほんの一例です。
ここで、プログラム/スクリプトでは、このキーを定義する必要があります。また、キーを変える必要がある場合は、どこかに保存する必要があります(書き留めてください)。あなたの言葉を文字列に入れて、各文字をチェックして変換し、それを新しい文字列に書き出します。
次に、(擬似コード!)と言うことができる:
var key = READKEYFROMFILE;
string old = READKEYFROMFILE_OR_JUST_A_NORMAL_STRING_:)
string new = "";
for (int i=0, i<old.length, i++){
get the string at i;
compare with your "key";
shift it;
write it in new;
}
は、私はあなたを助けることができる願っています。
編集:
(他の答えが言うように)あなたはまた、辞書を使用することができますが、これは非常に静的な(しかし簡単な)方法です。
また、プログラミングに関するガイド/チュートリアルもご覧ください。あなたはその経験をしていないようです。また、このトピックをよりよく理解するためのGoogleカエサル暗号化(その非常に興味深い)。
EDIT2:
オクラホマので、基本的には:
あなたはこの変数の「キー」と呼ばれる変数を、持っている、あなたがあなたの鍵を保存する(私は、キーとかして上に書いたものを理解します?)
"old"という文字列変数があります。もう一つは「新」と呼ばれています。
古いバージョンでは、変換する文字列を書きます。 新規は空です。
"forループ"を実行します。これは、 "古い"文字列の ".length"と同じくらい長くなります。 (つまり、文章が15文字の場合、ループは15回繰り返され、常にforループからの小さな "i"変数をカウントします)。
それから、「古い」から手紙を手に入れてみる必要があります(もう1つの短期間のために保存してください。たとえば、char temp = ""
)。
この後、現在の手紙を比較し、それをシフトする方法を決定する必要があります。 これが完了した場合は、変換された文字を「新しい」文字列に追加してください。ここで
いくつかのより正確な擬似コードである(そのないのpythonコード、私はうまくパイソンを知らない)、「文字」(手紙)のためところで文字スタンド:
var key = g;
string old = "teststring";
string new = "";
char oldchar = "";
char newchar = "";
for (int i=0; i<old.length; i++){
oldchar = old.charAt[i];
newchar = oldchar //shift here!!!
new.addChar(newchar);
}
私はあなたを助けることができる希望;)
EDIT3:
多分また、このを見てみましょう:
https://inventwithpython.com/chapter14.html
Caesar Cipher Function in Python
https://www.youtube.com/watch?v=WXIHuQU6Vrs
これはこれは、コードの書き込みやチュートリアルサービスではない、あまりにも広いです。また、乱数を入れ替えた場合、どうやって元に戻しますか? – jonrsharpe
辞書を使用して、特定の数字を各文字にマップするのはなぜでしょうか。または、各文字の乱数が必要ですか?あるいは、各文字のASCII表現をしたいですか? –
あなたはいくつかの基本が欠落しているようです。なぜ 'word = '{}'。書式(テキスト)'を使うのですか? – Matthias