12. Perl6モジュール
Perl6は汎用プログラミング言語です。以下のものを含むあらゆる仕事に使えます: テキスト処理、画像、ウェブ、データベース、ネットワークプロトコル、などなど
再利用性はとても重要な概念です。プログラマーが新しいことをするたびに車輪の再開発をせずにすむからです。
Perl6では、 モジュール の作成と配布ができます。モジュールはいくつかの機能をまとめて再利用できるようにしたもので、インストールすると使えるようになります。
Panda は、Rakudoについてくるモジュール管理ツールです。
あるモジュールをインストールするには、端末で下のコマンドを打ち込みます:
panda install "モジュールの名前"
Perl6モジュールのディレクトリは、 http://modules.perl6.org/ にあります。 |
12.1. モジュールを使う
MD5は、128ビットのハッシュ値を作る暗号学的ハッシュ関数です。
MD5は、データベースに保存されるパスワードの暗号化などの応用があります。
新規ユーザー登録の際には、ユーザー情報はそのままの文字として保存されるのではなく、 ハッシュ化 されます。
このようにするのは、たとえデータベースの内容が奪われても、攻撃者にパスワードを知られないようにするためです。
仮に今あなたが、これからデータベースに保存するパスワードのMD5ハッシュを作成する必要があるとしましょう。
幸運なことに、MD5アルゴリズムを実装したPerl6モジュールがすでに存在します。それをインストールしましょう:
panda install Digest::MD5
次のスクリプトを実行しましょう:
use Digest::MD5;
my $password = "password123";
my $hashed-password = Digest::MD5.new.md5_hex($password);
say $hashed-password;
md5_hex()
を使ってハッシュ値を作成するために、必要なモジュールを読み込む必要があります。
use
キーワードで、スクリプト内で使うモジュールを読み込みます。
実用的には、MD5ハッシュを使うだけでは十分ではありません。辞書攻撃に対して脆弱だからです。 ソルトと組みわせて使うべきです。 https://en.wikipedia.org/wiki/Salt_(cryptography)(英語). |