【Python】乱数を使って適当な暗号文を作成する方法(復号化不可)

今回は、「secrets」モジュールなどの暗号学的に複雑で強いモジュールを利用するのではなく、最も簡単に、乱数を使って適当な暗号文を作成する方法を解説していきます。

「secrets」モジュールを使ったしっかりとした暗号の作成方法については次の記事を参考にしてください。

参考:【Python】secretsモジュールを用いたパスワードの作成

無料オンライン相談を活用しよう!

Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。

その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。

無料説明会を参加してみる!

目的とサンプル

今回の目的は、ランダム関数を用いて、暗号文を作成することです。

ランダム関数を用いているため、暗号文を復号化することはできませんが、プログラミング初心者への学習には難易度も丁度よく面白いと思ってもらえると思います。

今回作成したのは、数字を入力すると、その数だけランダムな文字列の長さの暗号(パスワード)を生成するプログラムです。

こちらがサンプルです。この結果は毎回異なります。

必要な組み込み関数・モジュールについて

  • 組み込み関数(ord, chr)
  • モジュール(random)

これらの使い方について順番に解説していきます。

ord関数とchr関数

各文字には、ASCIIコードといって、単一の番号が割り当てられています。その番号を確認するためには、「ord」関数を用います。

逆に、番号から文字を確認するためには、「chr」関数を用います。

ASCIIコードをPythonで確認する方法はこちら

参考:【Python】ASCIIコードによる数値と文字列を変換する方法(ord, chr関数)

random関数

先ほどの単一の番号をランダムに選ぶことが出来れば、乱数を使った適当な暗号文が完成します。

ここでは、詳しい解説は省略しますが、暗号で表示される文字列を、数字とアルファベット、記号のみに限定するため、ASCIIコードの番号を48から122までにします。

ランダムを使った面白いテーマに下記の記事がありますのでよろしければ参考にしてください。

参考:Pythonで学ぶ高校数学の美しい物語(モンテカルロ法)
参考:Pythonで学ぶ高校数学の美しい物語(ビュフォンの針)

暗号文の作成

programming

暗号の作成

この関数は、暗号文を作成する関数です。

メイン関数

先ほどの関数を呼び出したり、暗号文の数を決定します。

全体のコード

こちらはコメントなしの全体のコードです。

まとめ

今回は、暗号文を作成する方法を解説しました。初心者には丁度いい難易度で面白かったのではないでしょうか。

復号化可能な暗号文を作成する方法は次回解説いたします。

こちらで紹介しているスクールは、すべて無料期間がある優良なスクールのみで、特徴を明確にし、読者のニーズに絞って丁寧に解説しました。初めての一歩として、無料説明会に参加してみてください。

プログラミングを学びたい人におすすめのスクール5選!

パソコン操作にお困りではありませんか?

ExcelやWordなど、基本的なソフトの使い方がいまいちわからないという方には、「PCHack」という講座をオススメしています。スクールの中でもコストパフォーマンスに優れ、オンラインなのでどこでも好きな時間に学習できます。

3万円ほどでPC初心者を脱出したい方は参考にしてください。

【PC初心者必見!】パソコンの勉強方法が分からないならPCHack講座がオススメ!

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA