XVI. クラック関数(Crack)

導入

このモジュールの関数によりパスワードの'強度'を試すためのCrackLibラ イブラリが使用可能となります。パスワードの'強度'は、長さ、大文字/ 小文字の使用で確認され、指定したCrackLibの辞書を用いて確認されます。 CrackLibは、パスワードを'強化する'ために有用な統計情報も出力します。

注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.0.0.

要件

CrackLibに関するより詳細な情報は、 http://www.crypticide.com/users/alecm/にあります。

インストール手順

この PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 http://pecl.php.net/package/crack.

PHP 4 の場合、この PECL 拡張モジュール のソースは、PHP のソースの ext/ ディレクトリ、または 上の PECL リンクで入手可能です。 これらの関数を使用するためには、設定オプション --with-crack[=DIR] を用いて Crackサポートを有効にしてPHPを コンパイルする必要があります。

Windowsユーザは、これらの関数を使用するために、 php.ini の中に php_crack.dll を 追加します。 PHP 4 の場合、この DLL は PHP の Windows ダウンロードバイナリの extensions/ ディレクトリ にあります。 この PECL 拡張モジュール の DLL PHP ダウンロード ページ または http://snaps.php.net/ からダウンロードできます。

実行時設定

php.ini の設定により動作が変化します。

表 1. Crack設定オプション

名前デフォルト変更可能変更履歴
crack.default_dictionaryNULLPHP_INI_PERDIRPHP 4.0.5 から利用可能です
PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

リソース型

リソース型は定義されていません。

定義済み定数

定数は定義されていません。

以下の例は、CrackLib辞書をオープンする方法を示しており、指定したパ スワードを試験し、解析メッセージを取得し、辞書を閉じます。

例 1. CrackLibの例

<?php
// CrackLib辞書をオープンする
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die(
'Unable to open CrackLib dictionary');

// パスワードチェックを行う
$check = crack_check($dictionary, 'gx9A2s0x');

// メッセージを取得する
$diag = crack_getlastmessage();
echo
$diag; // 'strong password'

// 辞書を閉じる
crack_closedict($dictionary);
?>

注意: crack_check()は、TRUEを返し、 crack_getlastmessage()は 'strong password'を 返します。

目次
crack_check -- 指定したパスワードに関して強度チェックを行う
crack_closedict -- オープンされているCrackLib辞書を閉じる
crack_getlastmessage -- 直近の強度チェックからのメッセージを返す
crack_opendict -- 新規CrackLib辞書をオープンする