問題タブ [caesar-cipher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
110 参照

python - shift('w','f') を 'b' に戻す方法は?

このプログラムを使用して、スペース、句読点を削除し、文字を小文字にします...

メッセージを暗号化して、各文字が対応するアルファベットの文字と同じ量だけシフトするようにするにはどうすればよいですか? たとえば、5 回シフトしたmはrになりますが、 5 回シフトしたwはbになります。これは私の現在のコードです:

0 投票する
1 に答える
254 参照

java - Java でシーザー暗号を作成する

私は現在、ファイルを入力として受け取り、ユーザーに番号を要求することでシーザー暗号を作成するプロジェクトに取り組んでいます。数字は文字を前方にシフトするために使用されるため、入力された数字が 2 の場合、a は c になります。アルファベットはラップアラウンドし (つまり、文字が z で入力が 2 の場合、暗号化された文字は b になります)、プログラムは文字以外の文字を無視して単純に先に進みます。

私はうまくいくと信じている解決策を持っていますが、出力が私が期待したものでも、本来あるべきものでもないため、何かが欠けていると思います。以下のコードの関連セクションを含めました

上記のメイン関数は、この関数を呼び出す前にユーザーに必要な入力を求めるだけです。この場合、文字列の内容は次の文字で構成されます: taco cat 1-349z 2

理論的には、ユーザーが数値として 2 を入力した場合、これは vceq ecv 1-349b 2 を返すはずです。残念ながら、それは次を返します...

\I\IK\I\IKW\I\IK\I\IKWI\I\IK\I\IKW\I\IK\I\IKWI\\I\IK\I\IKW\I\IK\I\IKWI\ I\IK\I\IKW\I\IK\I\IKWI\b

...これは明らかに正しくありません。私のコードで何が問題になっているのかわからないので、どんな支援も大歓迎です。ありがとうございました!

0 投票する
2 に答える
259 参照

python - 暗号化 Python - 文字列の暗号化

このプログラムを使用して、スペース、句読点を削除し、文字を小文字にします...

メッセージを暗号化して、各文字が対応するアルファベットの文字と同じ量だけシフトするようにするにはどうすればよいですか? 例) 'm' を 5 シフトすると 'r' になりますが、'w' を 5 シフトすると 'b' になりますか?

0 投票する
1 に答える
710 参照

java - シーザー暗号改訂

昨日、この同様のスレッドを投稿しましたが、終了したと思っていましたが、テスト ケース 4/20 を実行するdecrypt1()と、Caesar class. では、次のテスト ケース (失敗) を実行すると、メソッドのコードのCaesar class何が問題なのかを突き止めようとしています。decrypt1()

答えは、81私が得たものが のみの場合101です。別のケースは次のとおりです。

出力があるべきときcatfoodですが、私はこのようにsmthになっていca fvvdます。smb は、decrypt1() メソッドで私を助けてくれますか/コードの修正に向けて私を案内してくれますか? Alphabet classAlphabet オブジェクトには、 に示されているすべての文字が含まれていると仮定しますDEFAULTdecrypt1()メソッドのバグを追跡しやすくするために、ここに 3 つの相互接続クラスを含めました。

0 投票する
3 に答える
1088 参照

c++ - Caesar Cipher w/Frequency Analysis 次にどのように進めますか?

これは以前に尋ねられたことを理解しており、暗号と英語の間で頻度表を比較する方法をある程度把握しています(これは私のプログラムで想定している言語です)が、これをコードに組み込む方法がわかりません.

これは、内容が行に分割されてから単語に分割された特定のファイルの頻度を取得する方法です。したがって、文字列の二重ベクトルで、文字の ASCII 値 - インデックスに 65 を使用します。周波数を保持する int の結果のベクトルが保存されます。

ここで、どのように進めるかを結びません。英語の文字の頻度をa にハードコードしてconst std:: vector <int>から、どうにかして比較する必要がありますか? 単純に各ベクトルを互いに比較するのではなく、効率的に比較するにはどうすればよいでしょうか?効率的な方法ではない可能性があります。

この比較は、シーザー暗号シフトでテキストを復号化するための適切なシフト値を取得するためのものです。テキストが読めるようになるまで、ブルートフォースを使用して一度に1つずつシフトしたくありません。これにアプローチする方法についてのアドバイスはありますか?ありがとう。