私は暗号化コンソールアプリケーション(C#)で作業しており、暗号化プロセス中にVigenere Cipherのオプションを含めて、完全にランダムな文字(AZ)ではなく、暗号化するメッセージの長さ(文字数)と同じです。だから問題は、以前のユーザー入力(Stringbuilder s)と同じ長さのランダムな文字列を生成する方法です。これが明白な解決策であれば、事前にお詫び申し上げます。以下は、暗号化プロセスの結果を初期化して表示するためのコードです。私はワンタイムパッドのキーを生成する場所である「場合には」ユーザーは「GEN-OTP」を入力した場合、ネストされたが:変数から継承した長さのランダムな文字列を生成
//Encrypt
if ((selection == 1) && (type == 1))
{
Clear();
WriteLine("\nPlease enter the message you wish to encrypt(please exclude spaces from the message):\n");
StringBuilder s = new StringBuilder(ReadLine());
WriteLine("\nPlease enter your key word or phrase:\n");
string key = ReadLine();
VigenereEncryptDecrypt.VigenereEncrypt(ref s, key);
if (ReadLine() == "gen-otp")
{
}
Clear();
WriteLine("\nEncrypted message:\n{0}\n\nKey: {1}\n\nPlease press ENTER to continue:", s, key);
ReadLine();
Clear();
CipherSelection();
}
既存の変数「キー」をランダムに生成されたキーに変えようとするのではなく、 –