PHP crypt() Function

In this chapter you will learn:

  1. Definition for PHP crypt() Function
  2. Syntax for PHP crypt() Function
  3. Parameter for PHP crypt() Function
  4. Return for PHP crypt() Function
  5. Note for PHP crypt() Function
  6. Example - encrypt password
  7. Example - Using crypt() with htpasswd
  8. Example - Using crypt() with different hash types

Definition

The crypt() function encrypts a string using DES, Blowfish, or MD5 algorithms.

Syntax

Syntax for PHP crypt() function has the following syntax.

crypt(str,salt)

Parameter

ParameterIs RequiredDescription
strRequired.String to be encoded
saltOptional.A string used to make the encoding more secure.

Return

Returns the hashed string or a string that is shorter than 13 characters and is guaranteed to differ from the salt on failure.

Note

Different operating systems support different one type of hash.

On systems where the crypt() function supports multiple hash types, the following constants are set to 0 or 1 depending on whether the given type is available:

  • CRYPT_STD_DES - Standard DES-based hash with a two character salt from the alphabet "./0-9A-Za-z".
  • CRYPT_EXT_DES - Extended DES-based hash.
  • CRYPT_MD5 - MD5 hashing with a twelve character salt starting with $1$
  • CRYPT_BLOWFISH - Blowfish hashing
  • CRYPT_SHA256 - SHA-256 hash with a sixteen character salt prefixed with $5$.
  • CRYPT_SHA512 - SHA-512 hash with a sixteen character salt prefixed with $6$.

Example

You should pass the entire results of crypt() as the salt for comparing a password, to avoid problems when different hashing algorithms are used.


<?php/*j av a2s.  c  o  m*/
$hashed_password = crypt('mypassword'); // let the salt be automatically generated

if (crypt($user_input, $hashed_password) == $hashed_password) {
   echo "Password verified!";
}
?>

Example 2

Using crypt() with htpasswd


<?php/*from j a  va 2s .  co  m*/
// Set the password
$password = 'mypassword';

// Get the hash, letting the salt be automatically generated
$hash = crypt($password);
?>

Example 3


<?php//  ja  v  a 2  s. c  om
if (CRYPT_STD_DES == 1) {
    echo 'Standard DES: ' . crypt('PHP from java2s.com', 'st') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'Extended DES: ' . crypt('PHP from java2s.com', '123..java') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5:          ' . crypt('PHP from java2s.com', '$1$java2s.c$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('PHP from java2s.com', '$2a$07$java2s.comfromPHP12345678$') . "\n";
}
 
if (CRYPT_SHA256 == 1) {
    echo 'SHA-256:      ' . crypt('PHP from java2s.com', '$5$rounds=5000$PHPfromjava2s.com12345678$') . "\n";
}

if (CRYPT_SHA512 == 1) {
    echo 'SHA-512:      ' . crypt('PHP from java2s.com', '$6$rounds=5000$PHPfromjava2s.comqwertyui$') . "\n";
}
?>

The code above generates the following result.

Next chapter...

What you will learn in the next chapter:

  1. Definition for PHP echo() Function
  2. Syntax for PHP echo() Function
  3. Parameter for PHP echo() Function
  4. Return for PHP echo() Function
  5. Example - Write some text to the output
  6. Example - Write the value of the string variable ($str) to the output
  7. Example - Join two string variables together
  8. Example - Write the value of an array to the output
Home » PHP Tutorial » PHP String Functions
PHP addcslashes() Function
PHP addslashes() Function
PHP bin2hex() Function
PHP chop() Function
PHP chr() Function
PHP chunk_split() Function
PHP convert_cyr_string() Function
PHP convert_uudecode() Function
PHP convert_uuencode() Function
PHP count_chars() Function
PHP crc32() Function
PHP crypt() Function
PHP echo() Function
PHP get_html_translation_table() Function
PHP hebrev() Function
PHP hebrevc() Function
PHP hex2bin() Function
PHP html_entities() Function
PHP html_entity_decode() Function
PHP htmlspecialchars() Function
PHP htmlspecialchars_decode() Function
PHP join() Function
PHP lcfirst() Function
PHP levenshtein() Function
PHP localeconv() Function
PHP ltrim() Function
PHP md5() Function
PHP metaphone() Function
PHP money_format() Function
PHP nl2br() Function
PHP nl_langinfo() Function
PHP number_format() Function
PHP ord() Function
PHP parse_str() Function
PHP print() Function
PHP print_r() Function
PHP printf() Function
PHP quoted_printable_decode() Function
PHP quoted_printable_encode() Function
PHP quotemeta() Function
PHP rawurldecode() Function
PHP rawurlencode() Function
PHP rtrim() Function
PHP setlocale() Function
PHP sha1() Function
PHP similar_text() Function
PHP soundex() Function
PHP sprintf() Function
PHP sscanf() Function
PHP str_getcsv() Function
PHP str_ireplace() Function
PHP str_pad() Function
PHP str_repeat() Function
PHP str_replace() Function
PHP str_rot13() Function
PHP str_shuffle() Function
PHP str_split() Function
PHP str_word_count() Function
PHP strcasecmp() Function
PHP strchr() Function
PHP strcmp() Function
PHP strcoll() Function
PHP strcspn() Function
PHP strip_tags() Function
PHP stripcslashes() Function
PHP stripslashes() Function
PHP stristr() Function
PHP strlen() Function
PHP strnatcasecmp() Function
PHP strnatcmp() Function
PHP strncasecmp() Function
PHP strncmp() Function
PHP strpbrk() Function
PHP strpos() Function
PHP strrchr() Function
PHP strrev() Function
PHP strripos() Function
PHP strrpos() Function
PHP strspn() Function
PHP strstr() Function
PHP strtok() Function
PHP strtolower() Function
PHP strtoupper() Function
PHP strtr() Function
PHP substr() Function
PHP substr_compare() Function
PHP substr_count() Function
PHP substr_replace() Function
PHP trim() Function
PHP ucfirst() Function
PHP ucwords() Function
PHP utf8_decode() Function
PHP utf8_encode() Function
PHP vprintf() Function
PHP vsprintf() Function
PHP wordwrap() Function