1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-29 18:52:13 +02:00
Files
archived-doc-de/reference/strings/functions/crypt.xml
Carola 'Sammy' Kummert 590816c480 updated files to EN version
-------------------------------
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
2005-04-28 10:41:49 +00:00

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