PHP Manual
Prev |  | Next

# XI. Crack functions

# Introduction

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.

# Requirements

More information regarding CrackLib along with the library can be found at http://www.users.dircon.co.uk/~crypto/.

# Installation

In order to use these functions, you must compile PHP with Crack support by using the `--with-crack[=DIR]` option.

# Runtime Configuration

The behaviour of these functions is affected by settings in `php.ini`.

Table 1. Crack configuration options

Name | Default | Changeable
--- | --- | ---
crack.default_dictionary | NULL | PHP_INI_SYSTEM

For further details and definition of the PHP_INI_* constants see ini_set().

# Resource Types

This extension has no resource types defined.

# Predefined Constants

This extension has no constants defined.

# Examples

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'.

Prev | Home | Next
cpdf_translate | Up | crack_check