記録

ブルータス、お前もか?古代の暗号シーザー。 #phpcode

おはようございます。古代にも暗号というものがあったらしい。古代の人が使っていたシーザーという暗号をPHP化しました。demo74のページを見ると実行結果が表示されていると思います。

古代にはPCというものが無かったので、これでも解読するのにある程度、時間がかかったんでしょうね。ぱっと見、暗号化されているのは分かるけど瞬時に解読できる人はあまりいなかっただと思います。近年では量子暗号とか、パッと見どころかPCがあっても鍵が無いと解読に途方も無い時間を費やする暗号までありますよね。そう思うと暗号の歴史を辿るのも面白いかもしれないですね。

<?php
function caesarCipher($str, $shift) {
  $result = "";
  $len = strlen($str);
  // 26文字のアルファベットを配列として定義する
  $alpha = range('a', 'z');
  
  for ($i = 0; $i < $len; $i++) {
    $char = strtolower($str[$i]); // 大文字を小文字に変換する
    if (in_array($char, $alpha)) { // アルファベットの場合のみシフトする
      $index = array_search($char, $alpha); // アルファベットの位置を検索する
      $newIndex = ($index + $shift) % 26; // シフト後のアルファベットの位置を計算する
      $result .= $alpha[$newIndex]; // シフト後のアルファベットを結果に追加する
    } else {
      $result .= $char; // アルファベット以外はそのまま結果に追加する
    }
  }
  return $result;
}

// 使用例
$plaintext = "hello world";
$ciphertext = caesarCipher($plaintext, 3);
echo $ciphertext; // "khoor zruog"







    Bardが徐々に改善されてきている。#酷評した人前のページ

    サーバー運営を黒字化するまでに、もう少しです😁。次のページclear light bulb planter on gray rock

    関連記事

    1. 記録

      ちょっとしたツール。

      サイト内の検索をするためのURLを生成してくれるツールを作りま…

    2. 記録

      長年、デスクワークしていると。(あるあるネタ)

      長年のデスクワークをしていると、お腰をかなりの確率で痛めます、…

    3. 記録

      そろそろ失効する。

      ほぼ毎週のように映画を観行くということをここ数年続けています…

    4. 記録

      自分は経営者にはなれないらしい。

      もし、じぶんが経営者なったなら!自分が経営者になったら、障害者で能…

    5. 記録

      働かないってどういうこと。

      働かないってどういうこと。簡単に言えば、自宅にいることが多くなること…

    6. 記録

      近い将来、学校がなくなると思っています。

      近い将来(遠いか?)、学校がなくなると思っています。学校っていうも…

    2023年4月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930

    カテゴリー

    アーカイブ

    PAGE TOP