はじめに
やあ、こんにちは。今日は『パスワード生成プログラム』についてやっていこう。
はい、よろしくお願いします。
コンピュータやネットサービスにログインするときは、パスワードで本人確認されることが多い。今回はプログラムを用いて安全性の高いパスワードを生成してみよう。
そのようなこともできるのですね!きっとランダム関数の出番ですね!
その通りだ!まずは、小文字のアルファベットからパスワードを作ってみよう。下のプログラムを見てほしい。
小文字のアルファベットのみから作る
上のプログラムについて説明しよう。
まず、ランダム関数を使うため1行目に『import random』を書いている。そして、2行目のアルファベットの文字列がパスワードを作るための材料だ。4行目でパスワードの文字数をキーボードから入力して決めるのだ。6~8行目のfor文がメインとなるプログラムだ。for文の回数はパスワードの文字数で、変数 a に『 0 から len(A)-1 』まで、つまり0から25までの整数のいずれかがランダムに代入される。そして、8行目であらかじめ空にしておいたpwdという空の文字列にランダムに選ばれたアルファベット A[a] が代入されるというわけだ。
なるほど、文字列は0番目から数えるのでしたね!
空の文字列pwdをあらかじめ用意しておき、それにランダムに選ばれたアルファベットを代入するという構造になっていることが分かります。納得したので自分で書いて実行してみます。今回は『file49』から書き始めます。
出来ました!パスワードの文字数は7にして実行したところ、ランダムな7文字のパスワード『alpjmjb』が生成されました!
うむ、今回のプログラムはアルファベットの小文字のみで生成されているので安全性が少々低いだろう?そこで、上のプログラムに追加する形でいいので、変数Aに代入する文字列を拡張しよう!つまり、大文字のアルファベットと0から9までの数字を追加しよう。
はい!変数Aの文字列が長くなるほどパスワードの安全性が増すということですね!
パスワードの安全性を高くする
出来ました!今度はパスワードの文字数を12にして実行しました。生成されたパスワードは数字やアルファベットの小文字と大文字がランダムに選ばれているので、とても安全性が高いと言えます。
うむ。そういうことだ!
変数Aに更に記号『 # , $ , % , & , ! 』などを加えれば更に安全性が高くなるだろう。
はい!それらも追加して、実行してみますね!
さらに安全性を高くする
できました!確かにとても複雑なパスワードが生成されました!
うむ。今後活用する機会があればぜひ使ってみるといいだろう!ただ、作ったパスワードはしっかりメモすることだけは忘れずにな。ランダムということは自分にとってもランダムなのだから覚えるのは大変だからな。
はい、自分で考えない分注意しなくてはいけないですね!
うむ。では、今回はここまでにしよう。次回は『素数判定プログラム』についてやろうと思う。今日もお疲れさん。
はい、ありがとうございました!
コメント