Skip to content

Commit

Permalink
Sync with EN
Browse files Browse the repository at this point in the history
  • Loading branch information
msamesch committed Aug 2, 2024
1 parent 0bf2110 commit 4da3f7a
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 23 deletions.
40 changes: 29 additions & 11 deletions reference/array/functions/array-walk-recursive.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d42b32e96ba3a36544b453128b5f515166bfc14c Maintainer: cmb Status: ready -->
<!-- EN-Revision: cec5275f23d2db648df30a5702b378044431be97 Maintainer: cmb Status: ready -->
<refentry xml:id="function.array-walk-recursive" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_walk_recursive</refname>
<refpurpose>Wendet eine Benutzerfunktion rekursiv auf jedes Element eines
<refpurpose>Wendet eine Benutzerfunktion rekursiv auf jedes Element eines
Arrays an</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>array_walk_recursive</methodname>
<type>true</type><methodname>array_walk_recursive</methodname>
<methodparam><type class="union"><type>array</type><type>object</type></type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>arg</parameter><initializer>&null;</initializer></methodparam>
Expand Down Expand Up @@ -71,22 +71,41 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
&return.true.always;
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&return.type.true;
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>array_walk_recursive</function> Beispiel</title>
<title><function>array_walk_recursive</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
$sweet = array('a' => 'Apfel', 'b' => 'Banane');
$fruits = array('süß' => $sweet, 'sauer' => 'Zitrone');
function test_print($item, $key)
function test_print($item, $key)
{
echo "$key beinhaltet $item\n";
}
Expand All @@ -104,9 +123,9 @@ sauer beinhaltet Zitrone
]]>
</screen>
<para>
Sie werden bemerken, dass der Schlüssel '<literal>süß</literal>' nicht angezeigt wird. Jeder
Schlüssel, der ein <type>array</type> beinhaltet, wird nicht an die
Funktion übergeben.
Sie werden bemerken, dass der Schlüssel '<literal>süß</literal>' nicht
angezeigt wird. Jeder Schlüssel, der ein <type>array</type> beinhaltet,
wird nicht an die Funktion übergeben.
</para>
</example>
</para>
Expand All @@ -122,7 +141,6 @@ sauer beinhaltet Zitrone
</refsect1>

</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
Expand All @@ -142,4 +160,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
-->
7 changes: 4 additions & 3 deletions reference/array/functions/array-walk.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d45ff7a3e78243470d1b7e5141d7ded022286d7f Maintainer: wiesemann Status: ready -->
<!-- EN-Revision: cec5275f23d2db648df30a5702b378044431be97 Maintainer: wiesemann Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: eba8e74c7570bfecbbc72f42785f723811521340 Reviewer: samesch -->
<!-- CREDITS: tom -->
Expand All @@ -12,7 +12,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>array_walk</methodname>
<type>true</type><methodname>array_walk</methodname>
<methodparam><type class="union"><type>array</type><type>object</type></type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>arg</parameter><initializer>&null;</initializer></methodparam>
Expand Down Expand Up @@ -93,7 +93,7 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt &true; zurück.
&return.true.always;
</para>
</refsect1>

Expand Down Expand Up @@ -122,6 +122,7 @@
</row>
</thead>
<tbody>
&return.type.true;
<row>
<entry>8.0.0</entry>
<entry>
Expand Down
78 changes: 69 additions & 9 deletions reference/hash/book.xml
Original file line number Diff line number Diff line change
@@ -1,23 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 68c2c871505aadf983f16113c5b077b335ce8d76 Maintainer: nikic Status: ready -->
<!-- EN-Revision: 4a5170086f67c5d4d9e9ae20bb4f727663356642 Maintainer: nikic Status: ready -->
<book xml:id="book.hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="core" ?>
<title>HASH-Erweiterung</title>
<title>HASH Message Digest Framework</title>
<titleabbrev>Hash</titleabbrev>

<!-- {{{ preface -->
<preface xml:id="intro.hash">
&reftitle.intro;
<para>
Funktionen zur Nutzung kryptographischer Hash-Algorithmen. Die
Erweiterung erlaubt direktes oder schrittweises Verarbeiten von
Daten beliebiger Länge unter Nutzung einer großen Auswahl von
Hashing-Algorithmen.
Diese Erweiterung bietet Funktionen für die direkte oder inkrementelle
Verarbeitung von Nachrichten beliebiger Länge unter Verwendung
verschiedener Hash-Algorithmen. Dazu gehören auch die Erzeugung von
<acronym>HMAC</acronym>-Werten und Schlüsselableitungen einschließlich
<acronym>HKDF</acronym> und <acronym>PBKDF2</acronym>.
</para>
<para>
Es gibt im Wesentlichen drei Kategorien von Hash-Algorithmen. Siehe
<function>hash_algos</function> für eine vollständige Liste.

<itemizedlist>
<listitem>
<simpara>
Prüfsummenalgorithmen (&zb; <literal>"crc32b"</literal> oder
<literal>"adler32"</literal>):
Diese werden zur Berechnung von Prüfsummen verwendet, was &zb; nützlich
ist, um Übertragungsfehler zu erkennen. Sie sind in der Regel sehr
schnell. Da diese Algorithmen oft Werte erzeugen, die leicht zu
"erraten" sind oder manipuliert werden können, um Kollisionen zu
erzeugen, sind sie für kryptografische Zwecke völlig ungeeignet.
</simpara>
</listitem>
<listitem>
<simpara>
Nicht-kryptografische Algorithmen (&zb; die xxHash-Familie):
Diese Algorithmen werden häufig zur Berechnung von Hashwerten für
Hashtabellen verwendet, weil sie darauf ausgelegt sind, eine gute
Verteilung über beliebige Zeichenketten zu erzeugen. Auch sie sind im
Allgemeinen schnell, aber ebenfalls nicht für kryptografische Zwecke
geeignet.
</simpara>
</listitem>
<listitem>
<simpara>
Kryptographische Algorithmen (&zb; die SHA-2-Familie):
Diese Algorithmen wurden entwickelt, um Hashwerte zu erzeugen, die die
Eingaben darstellen, aber weder erraten werden können noch anfällig für
Kollisionen sind. Die Leistung ist oft zweitrangig, aber moderne
Hardware unterstützt oft eine spezielle Handhabung für diese
Algorithmen, die PHP zu nutzen versucht, wenn sie verfügbar ist.
</simpara>
<simpara>
Das Computer Security Resource Center des <acronym>NIST</acronym> bietet
eine <link xlink:href="&url.hash.nist-hash-functions;">Beschreibung
der Algorithmen, die derzeit von den United States Federal Information
Processing Standards (FIPS) zugelassen sind</link>.
</simpara>
<caution>
<para>
Einige der frühen kryptographischen Algorithmen wie
<literal>"md4"</literal> <literal>"md5"</literal> und
<literal>"sha1"</literal> haben sich als anfällig für
Kollisionsangriffe erwiesen und es wird allgemein empfohlen, diese
nicht mehr für kryptographische Anwendungen zu verwenden.
</para>
</caution>
</listitem>
</itemizedlist>
</para>

<para>
Siehe auch die
<link linkend="faq.passwords">FAQ zum sicheren Hashing von Passwörtern</link>
für Informationen über bewährte Verfahren bei der Verwendung von
Hash-Funktionen im Umgang mit Passwörtern.
</para>
</preface>
<!-- }}} -->

&reference.hash.setup;
&reference.hash.constants;
&reference.hash.hashcontext;
Expand All @@ -44,4 +105,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

0 comments on commit 4da3f7a

Please sign in to comment.