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".
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: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » 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 윈도우 바이너리 안의 extensions/ 디렉토리 안에 있습니다. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.
실행시 설정
이 함수의 작동은 php.ini 설정에 영향을 받습니다.
| 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. |
자원형
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
- 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
Crack
22-Nov-2007 02:24
05-Jun-2007 09: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.
