com doc/tr: New translation: reference/password/book.xml reference/password/constants.xml reference/password/functions/password-algos.xml reference/password/functions/password-get-info.xml reference/password/functions/password-hash.xml reference/password/functions/password-needs-rehash.xml reference/password/functions/password-verify.xml reference/password/reference.xml reference/password/setup.xml
[email protected] (Nilgün Belma Bugüner) Fri, 19 Mar 2021 10:27:48 +0000
| Newsgroups | php.doc.tr |
|---|---|
| Message-ID | <[email protected]> |
Commit: 3bd8115d6151658802fb30cef0719dd0129f2dc0 Author: Nilgün Belma Bugüner <[email protected]> Fri, 19 Mar 2021 13:27:48 +0300 Parents: 3f88b49b8b8295d52ebd3a6bca3550f65d0c50d6 Branches: master Link: http://git.php.net/?p=doc/tr.git;a=commitdiff;h=3bd8115d6151658802fb30cef0719dd0129f2dc0 Log: New translation Changed paths: A reference/password/book.xml A reference/password/constants.xml A reference/password/functions/password-algos.xml A reference/password/functions/password-get-info.xml A reference/password/functions/password-hash.xml A reference/password/functions/password-needs-rehash.xml A reference/password/functions/password-verify.xml A reference/password/reference.xml A reference/password/setup.xml
diff_3bd8115d6151658802fb30cef0719dd0129f2dc0.txt
(text/plain, 38.2 KB)
diff --git a/reference/password/book.xml b/reference/password/book.xml
new file mode 100644
index 00000000..f7e5af83
--- /dev/null
+++ b/reference/password/book.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: ab387e780b4ea79292046b739978183299787552 Maintainer: nilgun Status: ready -->
+<book xml:id="book.password" xmlns="http://docbook.org/ns/docbook">
+ <?phpdoc extension-membership="core" ?>
+ <title>Parola Aşlama</title>
+
+ <preface xml:id="intro.password">
+ &reftitle.intro;
+ <para>
+ Parola aşlama arayüzü, parolaları güvenli bir şekilde oluşturmayı ve
+ yönetmeyi kolaylaştırmak için <function>crypt</function> ve diğer bazı
+ parola aşlama algoritmaları etrafında kullanımı kolay bir sarmalayıcı sağlar.
+ </para>
+ <para>
+ Bu eklenti PHP 5.5.0 sürümünden beri kullanılabilmektedir. Ancak,
+ PHP >= 5.3.7 için ayrıca bir <link
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xlink:href="&url.password.compat;">kullanıcı gerçeklenimi</link> de mevcuttur.
+ </para>
+ </preface>
+
+ &reference.password.setup;
+ &reference.password.constants;
+ &reference.password.reference;
+
+</book>
+
+<!-- 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:"~/.phpdoc/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
+-->
+
diff --git a/reference/password/constants.xml b/reference/password/constants.xml
new file mode 100644
index 00000000..fac59a9b
--- /dev/null
+++ b/reference/password/constants.xml
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: nilgun Status: ready -->
+<appendix xml:id="password.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ &reftitle.constants;
+ &extension.constants.core;
+
+ <para>
+ <variablelist>
+ <varlistentry xml:id="constant.password-bcrypt">
+ <term>
+ <constant>PASSWORD_BCRYPT</constant>
+ (<type>string</type>)
+ </term>
+ <listitem>
+ <para>
+ <constant>CRYPT_BLOWFISH</constant> algoritması ile yeni bir parola aşı
+ üretmekte kullanılır.
+ </para>
+ <para>
+ Bu daima, "$2y$" <function>crypt</function> biçemi kullanılan 60
+ karakterlik bir aş ile sonuçlanır.
+ </para>
+ <para>
+ Desteklenen seçenekler:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>salt</literal> (<type>string</type>) - Parola aşlanırken
+ kullanmak üzere elle bir tuz sağlamak için kullanılır. Bunun bir
+ tuzun otomatik olarak oluşturulmasını geçersiz kılıp önleyeceği
+ unutulmamalıdır.
+ </para>
+ <para>
+ Belirtilmezse, aşlanan her parola için <function>password_hash</function>
+ tarafından rasgele bir tuz üretilir. Bu amaçlanan çalışma kipidir.
+ </para>
+ <warning>
+ <para>
+ PHP 7.0.0 ve sonrasında <literal>salt</literal> seçeneğinin kullanımı
+ önerilmemektedir. Artık öntanımlı olarak üretilen tuzun kullanımı
+ öneriliyor.
+ </para>
+ </warning>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>cost</literal> (<type>int</type>) - Kullanılması gereken
+ algoritmik maliyeti belirtir. Bu değerin örnekleri
+ <function>crypt</function> işlevinde bulunabilir.
+ </para>
+ <para>
+ Belirtilmezse, <literal>10</literal> öntanımlı değeri kullanılır.
+ Bu iyi bir temel maliyettir, ancak donanımınıza bağlı olarak
+ arttırılabilir.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry xml:id="constant.password-argon2i">
+ <term>
+ <constant>PASSWORD_ARGON2I</constant>
+ (<type>string</type>)
+ </term>
+ <listitem>
+ <para>
+ Argon2i algoritması ile yeni bir parola aşı üretmekte kullanılır.
+ </para>
+ <para>
+ Desteklenen seçenekler:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>memory_cost</literal> (<type>int</type>) - Argon2 aşını
+ hesaplamakta kullanılabilecek kilobibayt cinsinden azami bellek.
+ <constant>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</constant> öntanımlıdır.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>time_cost</literal> (<type>int</type>) - Argon2 aşını
+ hesaplamak için gerekebilecek azami süre.
+ <constant>PASSWORD_ARGON2_DEFAULT_TIME_COST</constant> öntanımlıdır.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>threads</literal> (<type>int</type>) - Argon2 aşını
+ hesaplamak için kullanılacak evre sayısı.
+ <constant>PASSWORD_ARGON2_DEFAULT_THREADS</constant> öntanımlıdır.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ PHP 7.2.0 ve sonrasında kullanılabilir.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry xml:id="constant.password-argon2id">
+ <term>
+ <constant>PASSWORD_ARGON2ID</constant>
+ (<type>string</type>)
+ </term>
+ <listitem>
+ <para>
+ Argon2id algoritması ile yeni bir parola aşı üretmekte kullanılır.
+ <link linkend="constant.password-argon2i">
+ <constant>PASSWORD_ARGON2I</constant></link> için gereken seçenekler
+ kullanılır.
+ </para>
+ <para>
+ PHP 7.3.0 ve sonrasında kullanılabilir.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry xml:id="constant.password-argon2-default-memory-cost">
+ <term>
+ <constant>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</constant>
+ (<type>int</type>)
+ </term>
+ <listitem>
+ <para>
+ Bir aş hesaplamaya çalışılırken Argon2lib tarafından kullanılacak bayt
+ cinsinden öntanımlı bellek miktarı.
+ </para>
+ <para>
+ PHP 7.2.0 ve sonrasında kullanılabilir.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry xml:id="constant.password-argon2-default-time-cost">
+ <term>
+ <constant>PASSWORD_ARGON2_DEFAULT_TIME_COST</constant>
+ (<type>int</type>)
+ </term>
+ <listitem>
+ <para>
+ Bir aş hesaplamaya çalışılırken Argon2lib tarafından kullanılacak
+ öntanımlı süre.
+ </para>
+ <para>
+ PHP 7.2.0 ve sonrasında kullanılabilir.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry xml:id="constant.password-argon2-default-threads">
+ <term>
+ <constant>PASSWORD_ARGON2_DEFAULT_THREADS</constant>
+ (<type>int</type>)
+ </term>
+ <listitem>
+ <para>
+ Argon2lib tarafından kullanılacak öntanımlı evre sayısı.
+ </para>
+ <para>
+ Available as of PHP 7.2.0.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry xml:id="constant.password-default">
+ <term>
+ <constant>PASSWORD_DEFAULT</constant>
+ (<type>mixed</type>)
+ </term>
+ <listitem>
+ <para>
+ Bir algoritma sağlanmazsa aşlama için kullanılacak öntanımlı algoritma.
+ Desteklenebilecek daha yeni ve daha güçlü algoritmalar çıktıkça PHP'nin
+ yeni sürümlerinde öntanımlı algoritma değişebilir.
+ </para>
+ <para>
+ Bu sabit, PHP'ye yeni ve daha güçlü algoritmalar eklendikçe zamanla
+ değişmek üzere tasarlanmıştır. Bu sebeple, bu sabitin kullanımından
+ kaynaklanan sonucun uzunluğu zamanla değişebilir. Bu bakımdan, sonucun 60
+ karakterden fazla genişleyebilen bir veritabanı sütununda saklanması
+ önerilir (255 önerilen genişliktir).
+ </para>
+ <para>
+ Bu sabit için değerler:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ PHP 5.5.0 - <constant>PASSWORD_BCRYPT</constant>
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <formalpara>
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>7.4.0</entry>
+ <entry>
+ Parola algoritma kimlikleri
+ (<constant>PASSWORD_BCRYPT</constant>,
+ <constant>PASSWORD_ARGON2I</constant>,
+ <constant>PASSWORD_ARGON2ID</constant> ve
+ <constant>PASSWORD_DEFAULT</constant>) artık dizge olabiliyor.
+ Evvelce tamsayılar kullanılırdı.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </formalpara>
+
+</appendix>
+
+<!-- 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:"~/.phpdoc/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
+-->
+
diff --git a/reference/password/functions/password-algos.xml b/reference/password/functions/password-algos.xml
new file mode 100644
index 00000000..a5bdc6ed
--- /dev/null
+++ b/reference/password/functions/password-algos.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: c9596f7576ae7b476b9592522320f0f53ce1c0c0 Maintainer: nilgun Status: ready -->
+<refentry xml:id="function.password-algos" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <refnamediv>
+ <refname>password_algos</refname>
+ <refpurpose>Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür
+ </refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>array</type><methodname>password_algos</methodname>
+ <void />
+ </methodsynopsis>
+ <para>
+ Kayıtlı parola aşlama algoritma kimliklerinin tümünü bir dizgeler dizisi
+ olarak döndürür.
+ </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ &no.function.parameters;
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür.
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <example xml:id="password-algos.example.basic">
+ <title>- <function>password</function> temel kullanım örneği</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+print_r(password_algos());
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+Array
+(
+ [0] => 2y
+ [1] => argon2i
+ [2] => argon2id
+)
+]]>
+ </screen>
+ </example>
+ </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:"~/.phpdoc/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
+-->
diff --git a/reference/password/functions/password-get-info.xml b/reference/password/functions/password-get-info.xml
new file mode 100644
index 00000000..783a2d5b
--- /dev/null
+++ b/reference/password/functions/password-get-info.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: 95f6764aef0aaf5b99cb692de6783831b2431226 Maintainer: nilgun Status: ready -->
+<refentry xml:id="function.password-get-info" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <refnamediv>
+ <refname>password_get_info</refname>
+ <refpurpose>Belirtilen aş hakkında bilgi döndürür</refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>array</type><methodname>password_get_info</methodname>
+ <methodparam><type>string</type><parameter>aş</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ <function>password_hash</function> tarafından desteklenen bir algoritma
+ kullanılarak oluşturulan geçerli bir aş aktarıldığı takdirde, bu işlev
+ bu aş hakkında bir bilgi dizisi döndürür.
+ </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <variablelist>
+ <varlistentry>
+ <term><parameter>aş</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.hash;
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ 3 elemanlı ilişkisel bir dizi döndürür:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <literal>algo</literal>: Bir <link linkend="password.constants">parola
+ algoritma sabiti</link> ile eşleşir.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <literal>algoName</literal>: algoritmanın insanlarca okuyabilen adı.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <literal>options</literal>: <function>password_hash</function> çağrılırken
+ belirtilen seçenekler.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </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:"~/.phpdoc/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
+-->
diff --git a/reference/password/functions/password-hash.xml b/reference/password/functions/password-hash.xml
new file mode 100644
index 00000000..7dbd2afb
--- /dev/null
+++ b/reference/password/functions/password-hash.xml
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: b95d28e6ec86e4a71e012737d36ebdc1cf009180 Maintainer: nilgun Status: ready -->
+<refentry xml:id="function.password-hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <refnamediv>
+ <refname>password_hash</refname>
+ <refpurpose>Parola aşı oluşturur</refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type class="union"><type>string</type><type>false</type></type><methodname>password_hash</methodname>
+ <methodparam><type>string</type><parameter>parola</parameter></methodparam>
+ <methodparam><type>mixed</type><parameter>algo</parameter></methodparam>
+ <methodparam choice="opt"><type>array</type><parameter>seçenekler</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ <function>password_hash</function> işlevi güçlü ve tek yönlü bie aşlama
+ algoritması kullanarak yeni bir parola aşı oluşturur.
+ <function>password_hash</function> işlevi <function>crypt</function> işlevi
+ ile uyumludur. Bu bakımdan <function>crypt</function> ile oluşturulan parola
+ aşları <function>password_hash</function> ile kullanılabilir.
+ </para>
+ <simpara>
+ Desteklenen algoritmalar:
+ </simpara>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <constant>PASSWORD_DEFAULT</constant> - Bcrypt algoritması kullanılır
+ (PHP 5.5.0'dan itibaren öntanımlıdır). Bu sabitin, PHP'ye yeni ve daha
+ güçlü algoritmalar eklendikçe zamanla değişmek üzere tasarlandığı
+ unutulmamalıdır. Bu sebeple, bu tanımlayıcının kullanımından kaynaklanan
+ sonucun uzunluğu zamanla değişebilir. Bu bakımdan, sonucun 60 karakterden
+ fazla genişleyebilen bir veritabanı sütununda saklanması önerilir (255
+ karakter iyi bir seçim olacaktır).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <constant>PASSWORD_BCRYPT</constant> - Aş oluşturmak için
+ <constant>CRYPT_BLOWFISH</constant> algoritması kullanılır. Bu, "$2y$"
+ belirtecini kullanarak <function>crypt</function> uyumlu standart bir
+ aş oluşturacaktır. Sonuç her zaman 60 karakterlik bir dizge
+ olacaktır,&return.falseforfailure;.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <constant>PASSWORD_ARGON2I</constant> - Aş oluşturmak için Argon2i
+ aşlama algoritması kullanılır. Bu algoritma sadece PHP, Argon2 desteği
+ ile derlenmişse kullanılabilir.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <constant>PASSWORD_ARGON2ID</constant> - Aş oluşturmak için Argon2id
+ aşlama algoritması kullanılır. Bu algoritma sadece PHP, Argon2 desteği
+ ile derlenmişse kullanılabilir.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ <constant>PASSWORD_BCRYPT</constant> için desteklenen seçenekler:
+ </simpara>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>salt</literal> (<type>string</type>) - Parola aşlanırken
+ kullanmak üzere elle bir tuz sağlamak için kullanılır. Bunun bir
+ tuzun otomatik olarak oluşturulmasını geçersiz kılıp önleyeceği
+ unutulmamalıdır.
+ </para>
+ <para>
+ Belirtilmezse, aşlanan her parola için <function>password_hash</function>
+ tarafından rasgele bir tuz üretilir. Bu amaçlanan çalışma kipidir.
+ </para>
+ <warning>
+ <para>
+ PHP 7.0.0 ve sonrasında <literal>salt</literal> seçeneğinin kullanımı
+ önerilmemektedir. Artık öntanımlı olarak üretilen tuzun kullanımı
+ öneriliyor.
+ </para>
+ </warning>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>cost</literal> (<type>int</type>) - Kullanılması gereken
+ algoritmik maliyeti belirtir. Bu değerin örnekleri
+ <function>crypt</function> işlevinde bulunabilir.
+ </para>
+ <para>
+ Belirtilmezse, <literal>10</literal> öntanımlı değeri kullanılır.
+ Bu iyi bir temel maliyettir, ancak donanımınıza bağlı olarak
+ arttırılabilir.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ <constant>PASSWORD_ARGON2I</constant>
+ ve <constant>PASSWORD_ARGON2ID</constant> için desteklenen seçenekler:
+ </simpara>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>memory_cost</literal> (<type>int</type>) - Argon2 aşını
+ hesaplamakta kullanılabilecek kilobibayt cinsinden azami bellek.
+ <constant>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</constant> öntanımlıdır.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>time_cost</literal> (<type>int</type>) - Argon2 aşını
+ hesaplamak için gerekebilecek azami süre.
+ <constant>PASSWORD_ARGON2_DEFAULT_TIME_COST</constant> öntanımlıdır.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>threads</literal> (<type>int</type>) - Argon2 aşını
+ hesaplamak için kullanılacak evre sayısı.
+ <constant>PASSWORD_ARGON2_DEFAULT_THREADS</constant> öntanımlıdır.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <variablelist>
+ <varlistentry>
+ <term><parameter>parola</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.password;
+ </para>
+ <caution>
+ <para>
+ Algoritma olarak <constant>PASSWORD_BCRYPT</constant> kullanımı
+ <parameter>parola</parameter> değiştirgesinin 72 karakterden
+ kırpılmasına sebep olur.
+ </para>
+ </caution>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>algo</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.algo;
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>seçenekler</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.options;
+ </para>
+ <para>
+ Belirtilmezse, rasgele bir tuz oluşturulur ve öntanımlı maliyet
+ kullanılır.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Başarılı olursa aşlı parola,&return.falseforfailure;.
+ </para>
+ <para>
+ Kullanılan algoritma, maliyet ve tuz aşın parçası olarak döndürülür. Bu
+ bakımdan aş, doğrulanması için gereken tüm bilgiyi içermiş olur. Böylece,
+ <function>password_verify</function> işlevinin aşı doğrulamak için ayrı bir
+ yerde saklanmış tuz ve algoritma bilgisine ihtiyacı olmaz.
+ </para>
+ </refsect1>
+
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>7.4.0</entry>
+ <entry>
+ <parameter>algo</parameter> için artık bir dizge gerekiyor, ancak
+ geriye uyumluluk için hala tamsayılar kabul ediliyor.
+ </entry>
+ </row>
+ <row>
+ <entry>7.3.0</entry>
+ <entry>
+ <constant>PASSWORD_ARGON2ID</constant> kullanan Argon2id parolaları
+ için destek eklendi.
+ </entry>
+ </row>
+ <row>
+ <entry>7.2.0</entry>
+ <entry>
+ <constant>PASSWORD_ARGON2I</constant> kullanan Argon2i parolaları
+ için destek eklendi.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>- <function>password_hash</function> örneği</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+/**
+ * Sadece mevcut öntanımlı algoritmayı kullanarak parolayı aşla.
+ * Bu şu anda BCRYPT'dir ve 60 karakterlik bir sonuç üretecektir.
+ *
+ * Öntanımlının zamanla değişebileceğine dikkat.
+ * Saklama alanı 60 karakterden fazlasını alabilmeli (255 iyidir)
+ */
+echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
+]]>
+ </screen>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>- Maliyet belirtilen <function>password_hash</function> örneği
+ </title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+/**
+ * BCRYPT için öntanımlı maliyet 12'ye çıkarılmak isteniyor.
+ * BCRYPT için 60 karakter gerektiğine dikkat.
+ */
+$seçenekler = [
+ 'cost' => 12,
+];
+echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $seçenekler);
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
+]]>
+ </screen>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>- <function>password_hash</function> iyi bir maliyet bulma örneği
+ </title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+/**
+ * Bu kod, karşılayabileceğiniz maliyetin ne kadar yüksek olduğunu
+ * belirlemek için sunucunuzu sınayacaktır. Sunucunuzu çok yavaşlatmadan
+ * atayabileceğini en yüksek maliyeti belirlemek istiyorsunuz. 8-10 iyi
+ * bir başlangıçtır ve sunucularınız yeterince hızlıysa fazlası daha iyidir.
+ * Aşağıdaki kod, etkileşimli oturum açılabilen sistemler için iyi bir sınır
+ * olarak ≤ 50 milisaniyelik süreyi hedeflemektedir.
+ */
+$süreHedefi = 0.05; // 50 milisaniye
+
+$maliyet = 8;
+do {
+ $maliyet++;
+ $ilk = microtime(true);
+ password_hash("test", PASSWORD_BCRYPT, ["cost" => $maliyet]);
+ $son = microtime(true);
+} while (($son - $ilk) < $süreHedefi);
+
+echo "Yaklaşık maliyet bulundu: " . $maliyet;
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+Yaklaşık maliyet bulundu: 10
+]]>
+ </screen>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>- Argon2i kullanılan <function>password_hash</function> örneği
+ </title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+echo 'Argon2i aş: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+Argon2i aş: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
+]]>
+ </screen>
+ </example>
+ </para>
+ </refsect1>
+
+ <refsect1 role="notes">
+ &reftitle.notes;
+ <caution>
+ <para>
+ Bu işlev için kendi tuzunuzu oluşturmamanız şiddetle tavsiye edilir.
+ Tuz belirtmezseniz, sizin için otomatik olarak güvenli bir tuz
+ oluşturulacaktır.
+ </para>
+ <para>
+ Yukarıda belirtildiği gibi, PHP 7.0'da <literal>salt</literal>
+ seçeneğinin belirtilmesi, bir kullanımdan kaldırma uyarısı
+ üretecektir. El ile tuz sağlama desteği, gelecekteki bir PHP sürümünde
+ kaldırılabilir.
+ </para>
+ </caution>
+ <note>
+ <para>
+ Bu işlevi sunucularınızda sınamanız ve <literal>cost</literal>
+ değiştirgesini, işlevin etkileşimli sistemlerdeki çalışma süresinin 100
+ milisaniyeden daha az olmasını sağlayacak şekilde ayarlamanız önerilir.
+ Yukarıdaki örnek kod, donanımınız için iyi bir maliyet değeri seçmenize
+ yardımcı olacaktır.
+ </para>
+ </note>
+ <note>
+ <simpara>
+ Bu işlev tarafından desteklenen algoritmalarda yapılan güncellemeler
+ (veya öntanımlı algoritmada yapılan değişiklikler) aşağıdaki kurallara
+ uymalıdır:
+ </simpara>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ Herhangi bir yeni algoritma, öntanımlı duruma gelmeden önce PHP'nin
+ en az 1 tam sürümü için çekirdek kodda olmalıdır. Dolayısıyla, örneğin
+ 7.5.5'te yeni bir algoritma eklenirse, 7.7'ye kadar öntanımlı olması
+ uygun olmayacaktır (çünkü 7.6 ilk tam sürüm olacaktır). Ancak 7.6.0'da
+ farklı bir algoritma eklenmişse, 7.7.0 öntanımlılık için uygun
+ olacaktır.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Öntanımlı, düzeltme sürümünde değil, yalnızca tam sürümde (7.3.0, 8.0.0
+ vb.) değişmelidir. Bunun tek istisnası, geçerli öntanımlıda kritik bir
+ güvenlik açığı bulunduğunda ortaya çıkan aciliyet durumudur.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </note>
+ </refsect1>
+
+ <refsect1 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>password_verify</function></member>
+ <member><function>crypt</function></member>
+ <member><link xmlns:xlink="http://www.w3.org/1999/xlink"
+ xlink:href="&url.password.compat;">kullanıcının
+ gerçeklenimi</link></member>
+ <member><function>sodium_crypto_pwhash_str</function></member>
+ </simplelist>
+ </para>
+ </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:"~/.phpdoc/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
+-->
diff --git a/reference/password/functions/password-needs-rehash.xml b/reference/password/functions/password-needs-rehash.xml
new file mode 100644
index 00000000..da656ea0
--- /dev/null
+++ b/reference/password/functions/password-needs-rehash.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: 5e803ed87f39cf5a6c965d318619aadf68dc592e Maintainer: nilgun Status: ready -->
+<refentry xml:id="function.password-needs-rehash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <refnamediv>
+ <refname>password_needs_rehash</refname>
+ <refpurpose>Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
+ </refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>bool</type><methodname>password_needs_rehash</methodname>
+ <methodparam><type>string</type><parameter>aş</parameter></methodparam>
+ <methodparam><type>mixed</type><parameter>algo</parameter></methodparam>
+ <methodparam choice="opt"><type>array</type><parameter>seçenekler</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Bu işlev, belirtilen aşın belirtilen algoritma ve seçeneklerle yeniden
+ aşlanması gerekip gerekmediğine bakar. Gerekliyse, aşın yeniden aşlanması
+ gerektiği varsayılır.
+ </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <variablelist>
+ <varlistentry>
+ <term><parameter>aş</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.hash;
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>algo</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.algo;
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>seçenekler</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.options;
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Aş, verilen <parameter>algo</parameter> ve <parameter>seçenekler</parameter>le
+ eşleşecek şekilde yeniden aşlanmalıysa &true;, aksi takdirde &false; döndürür.
+ </para>
+ </refsect1>
+
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>7.4.0</entry>
+ <entry>
+ <parameter>algo</parameter> için artık bir dizge gerekiyor, ancak
+ geriye uyumluluk için hala tamsayılar kabul ediliyor.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>- <function>password_needs_rehash</function> kullanımı</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+
+$parola = 'rasmuslerdorf';
+$aş = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
+
+// cost (maliyet), donanımın geliştirilmesine bağlı olarak zamanla değişebilir
+$sçnkler = array('cost' => 11);
+
+// Saklı aşı düz metin parola ile doğrula
+if (password_verify($parola, $aş)) {
+ // Aşlama algoritmasının daha yenisi olup olmadığına
+ // veya maliyetin değişip değişmediğine bak
+ if (password_needs_rehash($aş, PASSWORD_DEFAULT, $sçnkler)) {
+ // Gerekliyse, yeni bir aş oluştur ve eskisinin yerine koy
+ $yeniAş = password_hash($parola, PASSWORD_DEFAULT, $sçnkler);
+ }
+
+ // Kullanıcıya oturum aç
+}
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </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:"~/.phpdoc/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
+-->
diff --git a/reference/password/functions/password-verify.xml b/reference/password/functions/password-verify.xml
new file mode 100644
index 00000000..8240a3da
--- /dev/null
+++ b/reference/password/functions/password-verify.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: be96542e25353334c13edc6c5bc39cc96eb46306 Maintainer: nilgun Status: ready -->
+<refentry xml:id="function.password-verify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <refnamediv>
+ <refname>password_verify</refname>
+ <refpurpose>Parola ile aş eşleşmesini doğrular</refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>bool</type><methodname>password_verify</methodname>
+ <methodparam><type>string</type><parameter>parola</parameter></methodparam>
+ <methodparam><type>string</type><parameter>aş</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Belirtilen aş ile belirtilen parolanın eşleşmesini doğrular.
+ </para>
+ <para>
+ <function>password_hash</function> işlevinin dönen aşın parçası olarak
+ algoritma, maliyet ve tuz döndürdüğüne dikkat edilmelidir. Bu bakımdan,
+ bir aşı doğrulamak için gereken tüm bilgi içinde olur. Bu, tuz veya algoritma
+ bilgisinin ayrı bir depoda saklanmasını gerektirmeden doğrulama işlevinin aşı
+ doğrulamasını sağlar.
+ </para>
+ <para>
+ Bu işlev zamanlama saldırılarına karşı güvenlidir.
+ </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <variablelist>
+ <varlistentry>
+ <term><parameter>parola</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.password;
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>aş</parameter></term>
+ <listitem>
+ <para>
+ &password.parameter.hash;
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Parola ve aş eşleşirse &true;, aksi takdirde &false; döner.
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>- <function>password_verify</function> örneği</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// Bunun nereden geldiğini öğrenmek için password_hash() örneğine bak
+$aş = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
+
+if (password_verify('rasmuslerdorf', $aş)) {
+ echo 'Parola geçerli!';
+} else {
+ echo 'Geçersiz parola.';
+}
+?>
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Parola geçerli!
+]]>
+ </screen>
+ </example>
+ </para>
+ </refsect1>
+
+ <refsect1 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>password_hash</function></member>
+ <member><link xmlns:xlink="http://www.w3.org/1999/xlink"
+ xlink:href="&url.password.compat;">kullanıcının gerçeklenimi</link></member>
+ <member><function>sodium_crypto_pwhash_str_verify</function></member>
+ </simplelist>
+ </para>
+ </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:"~/.phpdoc/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
+-->
diff --git a/reference/password/reference.xml b/reference/password/reference.xml
new file mode 100644
index 00000000..0d62ac10
--- /dev/null
+++ b/reference/password/reference.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: 12019a89a3502579366c4db7d395e5b0b4dc6b06 Maintainer: nilgun Status: ready -->
+<reference xml:id="ref.password" xmlns="http://docbook.org/ns/docbook">
+ <title>Parola Aşlama İşlevleri</title>
+
+ &reference.password.entities.functions;
+
+</reference>
+
+<!-- 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:"~/.phpdoc/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
+-->
+
diff --git a/reference/password/setup.xml b/reference/password/setup.xml
new file mode 100644
index 00000000..076cb807
--- /dev/null
+++ b/reference/password/setup.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- EN-Revision: 0b7542c9e336ff5d7731d5f808aed628d5a8b96d Maintainer: nilgun Status: ready -->
+<chapter xml:id="password.setup" xmlns:xlink="http://www.w3.org/1999/xlink">
+ &reftitle.setup;
+
+ <section xml:id="password.requirements">
+ &reftitle.required;
+ &no.requirement;
+ <para>
+ Argon2 parola aşlaması için,
+ <link xlink:href="&url.libargon2;">libargon2</link> gerekir.
+ PHP 7.3.0 ve sonrası için, libargon2'nin 20161029 veya sonraki sürümü gerekir.
+ </para>
+ </section>
+
+ <section xml:id="password.installation">
+ &reftitle.install;
+ &no.install;
+ <para>
+ Argon2 parola aşlamasını etkinleştirmek için, PHP'nin
+ <option role="configure">--with-password-argon2[=DiZiN]</option> yapılandırma
+ seçeneği kullanılarak libargon2 desteğiyle derlenmesi gerekir.
+ </para>
+ </section>
+
+ <section xml:id="password.configuration">
+ &reftitle.runtime;
+ &no.config;
+ </section>
+
+ <section xml:id="password.resources">
+ &reftitle.resources;
+ &no.resource;
+ </section>
+
+</chapter>
+
+<!-- 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:"~/.phpdoc/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
+-->
+