PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

crack_check> <variant_xor
Last updated: Sun, 25 Nov 2007

view this page in

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.

Note: 本扩展已被移动到 » PECL 库中且自以下版本起不再被绑定到 PHP 中:5.0.0.

需求

More information regarding CrackLib along with the library can be found at » http://sourceforge.net/projects/cracklib.

安装

» PECL 扩展未绑定于 PHP 中。 安装此 PECL 扩展库的信息可在手册中标题为 PECL 扩展库安装的一章中找到。 更多信息如新版本,下载,源文件,维护者信息以及更新日志等可以在这里找到: » 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 的影响。

Crack configuration options
Name Default Changeable Changelog
crack.default_dictionary NULL PHP_INI_PERDIR PHP_INI_SYSTEM in crack <= 0.2. Available since PHP 4.0.5. Removed in PHP 5.0.0.
有关 PHP_INI_* 常量进一步的细节与定义参见php.ini 配置选项

资源类型

The CrackLib extension defines a dictionary resource identifier returned by crack_opendict().

预定义常量

本扩展模块未定义任何常量。

范例

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

Example#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);
?>

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

Table of Contents



add a note add a note User Contributed Notes
Crack
leeyuiwah at NOSPAM dot hknet dot com
23-Nov-2007 06:24
Please note that the manual is a little bit misleading when providing references.  The sourceforge URL cited
(i.e. http://sourceforge.net/projects/cracklib) is the homepage of cracklib the enabler (upon which other things build), NOT the crack PECL extension.  If you are a PHP user looking for the crack PECL extension, you should NOT download from sourceforge.  Instead, you should download from the PECL homepage (http://pecl.php.net).  When you are there, search for "crack" not "cracklib".
Martin
06-Jun-2007 12:08
For those of you not familiar with the CrackLib Library:

CrackLib (or PHP Crack) can not cope with plaintext wordlists.
You have to generate a binary version of any plaintext list first.

After you have done this you get 3 files with different extensions:

my_list.txt

---->

my_list.pwd
my_list.hwm
my_list.pwi

crack_opendict() must be called with the first argument describing the path and base filename of the binary wordlist, e.g. C:\....\my_list or /usr/local/... (see below)

Now the bad news - how to generate the 3 files:

The only way i managed to do it:

o Download the CrackLib package from sourceforge (see link in php.net txt)
o USE UNIX/LINUX:
o run configure
o run make all
o run make install
o run make dict (having the wordlists in the /dict directory)
o look for the files in /usr/local/share/cracklib/
o copy the files in a convenient directory

That's it.

crack_check> <variant_xor
Last updated: Sun, 25 Nov 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites