mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 16:38:54 +00:00
Replace usage of the term 'encryption' with 'hash' on
crypt() page. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@295299 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
3087f7de70
commit
026bae616b
1 changed files with 28 additions and 30 deletions
|
@ -3,7 +3,7 @@
|
|||
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.crypt">
|
||||
<refnamediv>
|
||||
<refname>crypt</refname>
|
||||
<refpurpose>One-way string encryption (hashing)</refpurpose>
|
||||
<refpurpose>One-way string hashing</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
|
@ -14,25 +14,23 @@
|
|||
<methodparam choice="opt"><type>string</type><parameter>salt</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<function>crypt</function> will return an encrypted string using the
|
||||
standard Unix <abbrev>DES</abbrev>-based encryption algorithm or
|
||||
<function>crypt</function> will return a hashed string using the
|
||||
standard Unix <abbrev>DES</abbrev>-based algorithm or
|
||||
alternative algorithms that may be available on the system.
|
||||
</para>
|
||||
<para>
|
||||
Some operating systems support more than one type of encryption. In
|
||||
fact, sometimes the standard DES-based encryption is replaced by an
|
||||
MD5-based encryption algorithm. The encryption type is triggered by the
|
||||
salt argument. At install time, PHP determines the capabilities of the
|
||||
crypt function and will accept salts for other encryption types. If no
|
||||
salt is provided, PHP will auto-generate a standard two character salt by
|
||||
default, unless the default encryption type on the system is MD5, in
|
||||
which case a random MD5-compatible salt is generated. PHP sets a
|
||||
constant named <constant>CRYPT_SALT_LENGTH</constant> which tells you
|
||||
whether a regular two character salt applies to your system or the longer
|
||||
twelve character salt is applicable.
|
||||
Some operating systems support more than one type of hash. In
|
||||
fact, sometimes the standard DES-based algorithm is replaced by an
|
||||
MD5-based algorithm. The hash type is triggered by the salt argument.
|
||||
Prior to 5.3, PHP would determine the available algorithms at install-time
|
||||
based on the system's crypt(). If no salt is provided, PHP will
|
||||
auto-generate either a standard two character (DES) salt, or a twelve
|
||||
character (MD5), depending on the availability of MD5 crypt(). PHP sets a
|
||||
constant named <constant>CRYPT_SALT_LENGTH</constant> which indicates the
|
||||
longest valid salt allowed by the available hashes.
|
||||
</para>
|
||||
<para>
|
||||
The standard DES-based encryption <function>crypt</function> returns the
|
||||
The standard DES-based <function>crypt</function> returns the
|
||||
salt as the first two characters of the output. It also only uses the
|
||||
first eight characters of <parameter>str</parameter>, so longer strings
|
||||
that start with the same eight characters will generate the same result
|
||||
|
@ -40,18 +38,18 @@
|
|||
</para>
|
||||
<simpara>
|
||||
On systems where the crypt() function supports multiple
|
||||
encryption types, the following constants are set to 0 or 1
|
||||
hash types, the following constants are set to 0 or 1
|
||||
depending on whether the given type is available:
|
||||
</simpara>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<constant>CRYPT_STD_DES</constant> - Standard DES-based encryption with a two character salt
|
||||
<constant>CRYPT_STD_DES</constant> - Standard DES-based hash with a two character salt
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<constant>CRYPT_EXT_DES</constant> - Extended DES-based encryption. The "salt" is a
|
||||
<constant>CRYPT_EXT_DES</constant> - Extended DES-based hash. The "salt" is a
|
||||
9-character string consisting of an underscore followed by 4 bytes of iteration count and
|
||||
4 bytes of salt. These are encoded as printable characters, 6 bits per character, least
|
||||
significant character first. The values 0 to 63 are encoded as "./0-9A-Za-z".
|
||||
|
@ -59,37 +57,37 @@
|
|||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<constant>CRYPT_MD5</constant> - MD5 encryption with a twelve character salt starting with
|
||||
<constant>CRYPT_MD5</constant> - MD5 hashing with a twelve character salt starting with
|
||||
$1$
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<constant>CRYPT_BLOWFISH</constant> - Blowfish encryption with a salt as follows:
|
||||
<constant>CRYPT_BLOWFISH</constant> - Blowfish hashing with a salt as follows:
|
||||
"$2a$", a two digit cost parameter, "$", and 22 base 64 digits from the alphabet
|
||||
"./0-9A-Za-z". Using characters outside of this range in the salt will cause crypt() to
|
||||
return a zero-length string. The two digit cost parameter is the base-2 logarithm of the
|
||||
iteration count for the underlying Blowfish-based hashing algorithmeter and must be in
|
||||
range 04-31, values outside this range will cause crypt() to select DES-based encryption
|
||||
instead, with a salt of '$2'.
|
||||
range 04-31, values outside this range will cause crypt() to select DES instead, with a salt
|
||||
of '$2'.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<constant>CRYPT_SHA256</constant> - SHA-256 encryption with a sixteen character salt
|
||||
<constant>CRYPT_SHA256</constant> - SHA-256 hash with a sixteen character salt
|
||||
prefixed with $5$. If the salt string starts with 'rounds=<N>$', the numeric value of N
|
||||
is used to indicate how many times the hashing loop should be executed, much like the cost
|
||||
parameter on Blowfish encryption. The default number of rounds is 5000, there is a minimum of
|
||||
parameter on Blowfish. The default number of rounds is 5000, there is a minimum of
|
||||
1000 and a maximum of 999,999,999. Any selection of N outside this range will be truncated to
|
||||
the nearest limit.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<constant>CRYPT_SHA512</constant> - SHA-512 encryption with a sixteen character salt
|
||||
<constant>CRYPT_SHA512</constant> - SHA-512 hash with a sixteen character salt
|
||||
prefixed with $6$. If the salt string starts with 'rounds=<N>$', the numeric value of N
|
||||
is used to indicate how many times the hashing loop should be executed, much like the cost
|
||||
parameter on Blowfish encryption. The default number of rounds is 5000, there is a minimum of
|
||||
parameter on Blowfish. The default number of rounds is 5000, there is a minimum of
|
||||
1000 and a maximum of 999,999,999. Any selection of N outside this range will be truncated to
|
||||
the nearest limit.
|
||||
</simpara>
|
||||
|
@ -111,7 +109,7 @@
|
|||
<term><parameter>str</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The string to be encrypted.
|
||||
The string to be hashed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -119,7 +117,7 @@
|
|||
<term><parameter>salt</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
An optional salt string to base the encryption on. If not provided,
|
||||
An optional salt string to base the hashing on. If not provided,
|
||||
one will be randomly generated by PHP each time you call this function.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -136,7 +134,7 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns the encrypted string.
|
||||
Returns the hashed string.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -213,7 +211,7 @@ $hash = crypt($password);
|
|||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Using <function>crypt</function> with different encryption types</title>
|
||||
<title>Using <function>crypt</function> with different hash types</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
|
Loading…
Reference in a new issue