mirror of
https://github.com/php/doc-de.git
synced 2026-03-29 18:52:13 +02:00
------------------------------- count-chars.xml 1.6 crc32.xml 1.6 crypt.xml 1.11 echo.xml 1.15 explode.xml 1.11 typo in fprintf.xml git-svn-id: https://svn.php.net/repository/phpdoc/de/trunk@185350 c90b9560-bf6c-de11-be94-00142212c4b1
187 lines
6.3 KiB
XML
187 lines
6.3 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.4 $ -->
|
|
<!-- EN-Revision: 1.11 Maintainer: sammywg Status: working -->
|
|
<!-- splitted from ./de/functions/strings.xml, last change in rev 1.2 -->
|
|
<refentry id="function.crypt">
|
|
<refnamediv>
|
|
<refname>crypt</refname>
|
|
<refpurpose>Einweg-String-Verschlüsselung (Hashbildung)</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Beschreibung</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>crypt</methodname>
|
|
<methodparam><type>string</type><parameter>str</parameter></methodparam>
|
|
<methodparam choice="opt"><type>string</type><parameter>salt</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>crypt</function> einen String zurück, der unter Verwendung
|
|
des Unix-Standard-Verschlüsselungsalgorithmus <abbrev>DES</abbrev>
|
|
erstellt wurde. Dieser Algorithmus muss auf dem System verfügbar sein.
|
|
Die zu übergebenden Argumente sind der zu verschlüsselnde
|
|
String und optional ein Salt-String, der die Schlüsselbasis bildet.
|
|
Lesen Sie die Man-Pages ihres Unix-Systems, wenn Sie weitere
|
|
Informationen zu Crypt benötigen.
|
|
</para>
|
|
<simpara>
|
|
Ist kein Salt-Argument angegeben, wird es von PHP nach dem
|
|
Zufalls-Prinzip bei jedem Aufruf der Funktion neu erzeugt.
|
|
</simpara>
|
|
<simpara>
|
|
Einige Betriebssystem unterstützen mehr als eine Methode zur
|
|
Verschlüsselung. So wird manchmal der DES- durch einen
|
|
MD5-Algorithmus ersetzt. Der verwendete Schlüssel wird durch das
|
|
Salt-Argument bestimmt. Zum Installationszeitpunkt untersucht PHP die
|
|
vorhandenen Möglichkeiten und wird, abhängig vom Ergebnis dieser
|
|
Prüfung, auch andere Schlüssel-Typen zulassen. Wird kein Salt
|
|
unterstützt, erzeugt PHP per Voreinstellung einen 2-Zeichen
|
|
DES-Salt, es sei denn, auf ihrem System existiert MD5. In diesem Fall
|
|
wird PHP einen zufälligen MD5-kompatiblen Salt generieren. PHP erzeugt
|
|
eine Konstante namens CRYPT_SALT_LENGTH. Diese besagt, ob ihr System ein
|
|
reguläres 2-Zeichen Salt oder das längere 12-Zeichen MD5-Salt unterstützt.
|
|
</simpara>
|
|
<simpara>
|
|
Wenn Sie das gegebene Salt benutzen, sollten Sie beachten, dass
|
|
dieser Wert nur einmal bestimmt wird. Rufen Sie diese Funktion nun
|
|
mehrmals auf, beeinträchtigt das nicht nur das Ergebnis, sondern
|
|
unter Umständen auch die Sicherheit.
|
|
</simpara>
|
|
<simpara>
|
|
Die Standard-DES-Verschlüsselung <function>crypt</function>
|
|
enthält das Salt als erste 2 Zeichen der Ausgabe. Ebenso werden nur die ersten
|
|
acht Zeichen von <parameter>str</parameter> berücksichtigt, verwenden Sie also
|
|
einen längeren String, der mit den gleichen 8 Buchstaben beginnt, so erhalten
|
|
Sie denselben Rückgabewert (sofern Sie ebenfalls den gleichen Salt nutzen).
|
|
</simpara>
|
|
<simpara>
|
|
Auf Systemen, wo die crypt()-Funktion mehrere Verschlüsselungsarten
|
|
unterstützt, werden die folgenden Konstanten auf 0 oder 1
|
|
gesetzt, je nachdem, ob der entsprechende Typ verfügbar ist:
|
|
</simpara>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
CRYPT_STD_DES - Standard DES-Schlüssel mit 2-Zeichen Salt
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
CRYPT_EXT_DES - Erweiterte DES-basierte Verschlüsselung mit einem
|
|
9-Zeichen Salt
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
CRYPT_MD5 - MD5-Verschlüsselung mit 12-Zeichen Salt, beginnend mit $1$
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
CRYPT_BLOWFISH - Blowfish encryption with a sixteen character salt
|
|
starting with $2$ or $2a$
|
|
CRYPT_BLOWFISH - Blowfish-Verschlüsselung mit 16-Zeichen Salt,
|
|
beginnend mit $2$ oder $2a$
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<simpara>
|
|
Es existiert keine decrypt Funktion, da <function>crypt</function>
|
|
eine Einweg-Verschlüsselung ist.
|
|
</simpara>
|
|
</note>
|
|
<example>
|
|
<title><function>crypt</function> Beispiele</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$passwort = crypt('mein_Pwd'); // let the salt be automatically generated
|
|
|
|
/* Sie sollten das vollständige Ergebnis von crypt() als Salt zum
|
|
Passwort-Vergleich übergeben, um Problemen mit unterschiedlichen
|
|
Hash-Algorithmen vorzubeugen. (Wie bereits ausgeführt, verwendet
|
|
ein Standard-DES-Passwort-Hash einen 2-Zeichen-Salt, ein
|
|
MD5-basierter hingegen nutzt 12 Zeichen. */
|
|
if (crypt($benutzer_eingabe, $passwort) == $passwort) {
|
|
echo "Passwort stimmt überein!";
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
<example>
|
|
<title>Verwendung von <function>crypt</function> für htpasswd</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Passwort setzen
|
|
$passwort = 'mein_Pwd';
|
|
|
|
// Hash mit automatisch erstelltem Salt generieren
|
|
$hash = crypt($passwort);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
<example>
|
|
<title>Verwendung von <function>crypt</function> mit verschiedenen
|
|
Verschlüsselungsarten</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
if (CRYPT_STD_DES == 1) {
|
|
echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
|
|
}
|
|
|
|
if (CRYPT_EXT_DES == 1) {
|
|
echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
|
|
}
|
|
|
|
if (CRYPT_MD5 == 1) {
|
|
echo 'MD5: ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
|
|
}
|
|
|
|
if (CRYPT_BLOWFISH == 1) {
|
|
echo 'Blowfish: ' . crypt('rasmuslerdorf', '$2a$07$rasmuslerd...........$') . "\n";
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs.similar;
|
|
<screen>
|
|
<![CDATA[
|
|
Standard DES: rl.3StKT.4T8M
|
|
Extended DES: _J9..rasmBYk8r9AiWNc
|
|
MD5: $1$rasmusle$rISCgZzpwk3UhDidwXvin0
|
|
Blowfish: $2a$07$rasmuslerd............nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
<simpara>
|
|
Siehe auch <function>md5</function> und die <link linkend="ref.mcrypt">
|
|
Dokumentation zur Mcrypt-Extension</link>.
|
|
</simpara>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|