広告スペース(バナー)
🔷Visual Basic(.NET) レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 34 / 68
シーザー暗号を作ってみよう(文字のシフト暗号)
このレッスンでは、VB.NETでシーザー暗号を実装する方法を学び、文字をずらして暗号化する仕組みの基本を理解することを目標にします。「VB.NET シーザー暗号 実装」で調べている方向けです。
シーザー暗号は、アルファベットを決まった数だけずらして別の文字に置き換える、もっとも単純な暗号方式の1つです。文字コードを使った文字操作の練習として、プログラミングの入門でよく取り上げられます。
サンプルコードでは、Asc(c)で文字を文字コード(数値)に変換し、shiftの分だけずらしてからMod 26でアルファベットの範囲内に収め、Chr()で再び文字に戻しています。Char.IsUpper(c)で大文字かどうかを判定している点にも注目してみましょう。
初心者がよくつまずくのが、ずらした結果がアルファベットの範囲(A〜Z)を超えてしまうケースです。Mod 26で26文字分の範囲に収める計算を忘れると、意図しない記号に変換されてしまいます。
シーザー暗号自体は単純すぎて実際のセキュリティには使われませんが、文字コードを操作する考え方は、より高度な暗号化やエンコード処理の基礎になります。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではVisual Basic(.NET)を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
簡単な暗号化・復号化ができる、シーザー暗号ツールが作れるようになります。
簡単な暗号化・復号化ができる、シーザー暗号ツールが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)