XVI. Crack Functions

簡介

These functions allow you to use the CrackLib library to test the 'strength' of a password. The 'strength' of a password is tested by that checks length, use of upper and lower case and checked against the specified CrackLib dictionary. CrackLib will also give helpful diagnostic messages that will help 'strengthen' the password.

注: 本增加已被搬移到 PECL 庫中且自以下版本起不再被綁定到 PHP 中:5.0.0.

需求

More information regarding CrackLib along with the library can be found at http://www.crypticide.com/users/alecm/.

安裝

PECL 增加未綁定於 PHP 中。 進一步訊息例如新版本,下載,源程式,維護者訊息以及更新日誌可以在此找到: http://pecl.php.net/package/crack.

在 PHP 4 中本 PECL 增加的源程式位於 PHP 源程式中的 ext/ 目錄下或是在上面的 PECL 連線中。 In order to use these functions you must compile PHP with Crack support by using the --with-crack[=DIR] configuration option.

Windows users will enable php_crack.dll inside of php.ini in order to use these functions. 在 PHP 4 中本 DLL 位於 PHP Windows 執行包中的 extensions/ 目錄下。 可以從 PHP 下載頁面或是 http://snaps.php.net/ 下載此 PECL 增加的 DLL 檔案。

運行時配置

這些函數的行為受 php.ini 的影響。

表格 1. Crack configuration options

NameDefaultChangeableChangelog
crack.default_dictionaryNULLPHP_INI_SYSTEMAvailable since PHP 4.0.5.
有關 PHP_INI_* 常量進一步的細節與定義參見附錄 G

資源類型

本增加模組未定義任何資源類型。

預定義常量

本增加模組未定義任何常量。

範例

This example shows how to open a CrackLib dictionary, test a given password, retrieve any diagnostic messages, and close the dictionary.

例子 1. CrackLib example

<?php
// Open CrackLib Dictionary
$dictionary crack_opendict('/usr/local/lib/pw_dict')
     or die(
'Unable to open CrackLib dictionary');

// Perform password check
$check crack_check($dictionary'gx9A2s0x');

// Retrieve messages
$diag crack_getlastmessage();
echo 
$diag// 'strong password'

// Close dictionary
crack_closedict($dictionary);
?>

注: If crack_check() returns TRUE, crack_getlastmessage() will return 'strong password'.

目錄
crack_check -- Performs an obscure check with the given password
crack_closedict -- Closes an open CrackLib dictionary
crack_getlastmessage -- Returns the message from the last obscure check
crack_opendict -- Opens a new CrackLib dictionary