第71話 日記と、鍵と、秘密のパスワード

「私、日記をつけてみたい」


 マイラがそうおねだりしてきた。


「いいんじゃないの。文字の勉強にもなるし」


「それでね、鍵付きの日記帳が欲しいな。私以外誰にも開けられないのがいい」

「ええと魔道具で鍵を作れって事?」

「うん」


 うーん、物理に干渉するのはやれない事はない。

 力場を操れば良いんだから。

 鍵はパスワードで開けるとすればできる。

 こんなんでどうだ。


#include <stdio.h>

#include <stdlib.h>

#include <string.h>


extern void lock_key(void);

extern void unlock_key(void);


void main(int argc,char *argv[])

{

 char str[100]; /*入力する文字列*/

 lock_key(); /*初期状態はロック*/


 while(1){ /*無限ループ*/

  scanf("%s",str); /*パスワード入力*/

  if(strcmp(str, argv[1])==0){ /*パスワードが正しければ*/

   unlock_key(); /*ロック解除*/

  }

  else{ /*パスワードが違っていれば*/

   lock_key(); /*鍵をロック*/

  }

 }

}


 魔道具を起動した時に指定したパスワードでしか開かない。

 問題は魔道具の動作を止められた場合だ。

 再起動すればパスワードが変えられる。


 『if(strcmp(str, argv[1])==0){』の行を『if(strcmp(str, "パスワード")==0){』とすべきかな。

 これだとパスワード固定だけれど。

 魔道具を止めても鍵が閉まった状態を維持できる。


 あと問題は鍵の機構だ。

 ブラックボックスみたいに封をしても良いが、魔法で外部から力場で力を掛けると解除されてしまう。

 この辺は職人の腕の見せ所だ。

 解除の方法は俺と職人しか知らなければ、要件を満たす。


 ロックと解除をこうするとさらに効果的だ。


void lock_key(void)

{

 lock_key1(); /*鍵1をロック*/

 lock_key2(); /*鍵2をロック*/

 lock_key3(); /*鍵3をロック*/

}

void unlock_key(void)

{

 unlock_key1(); /*鍵1を解除*/

 unlock_key2(); /*鍵2を解除*/

 unlock_key3(); /*鍵3を解除*/

}


 鍵が三つあれば、ブラックボックスの中を透視しない限り、どの鍵を解除して、どの鍵を解除しなかったか、分からなくなる。

 要するにごちゃごちゃいじっていると、一つの鍵を解除しても、二つ目を解除する時に、間違って一つ目を掛けてしまうなどという事になる。


「マイラ、魔法が出来たよ」

「ほんとう? どうやって開けるの?」

「パスワードで開けるんだ」

「えー、タイトはそれを知ってるのよね」

「まあな、作った本人だから」


「じゃ、駄目」

「何でだよ。俺が作ったんだから、どうしようもない」

「駄目なものは駄目!」


 なぜかマイラは必死だ。


「じゃあ、紙にパスワードを書いてよ。俺は目隠しして見ないから」

「本当?」

「嘘は言わないよ」


 目では見ないよ。

 魔法で見るけどね。

 俺が目隠しするとマイラが紙にパスワードを書く。

 俺は魔法を発動して見てしまった。


 紙には『タイト大好き』と書かれていた。


「あー、見たでしょ。顔が赤い」

「見てないよ」

「もう良いわよ。どうせ見る気になれば、日記の中も覗けるんでしょ」

「出来るか、出来ないかで言ったら出来る」


「透視魔法は絶対禁止だからね」

「ああ、作らない」

「ほんと、絶対、絶対だからね」

「ああ、プログラムの神に誓う」


「聞いた事のない神様ね」

「俺の信奉している神様だ」


 職人に鍵穴のない鍵を作って貰った。

 設計図を見て、力場での鍵の開け閉めをイメージして魔道具を作る。


 マイラの日記帳が出来上がった。

 パスワードが『タイト大好き』なのは秘密だ。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る