<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.password.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.password-hash.php',
    1 => 'password_hash',
    2 => 'Parola aşı oluşturur',
  ),
  'up' => 
  array (
    0 => 'ref.password.php',
    1 => 'Parola Aşlama İşlevleri',
  ),
  'prev' => 
  array (
    0 => 'function.password-get-info.php',
    1 => 'password_get_info',
  ),
  'next' => 
  array (
    0 => 'function.password-needs-rehash.php',
    1 => 'password_needs_rehash',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'reference/password/functions/password-hash.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.password-hash" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">password_hash</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.5.0, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">password_hash</span> &mdash; <span class="dc-title">Parola aşı oluşturur</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.password-hash-description">
  <h3 class="title">Açıklama</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>password_hash</strong></span>(<span class="methodparam"><span class="attribute"><a href="class.sensitiveparameter.php">#[\SensitiveParameter]</a> </span><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$parola</code></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.null.php" class="type null">null</a></span></span> <code class="parameter">$algo</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$seçenekler</code><span class="initializer"> = []</span></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>password_hash()</strong></span> işlevi güçlü ve tek yönlü bir aşlama
   algoritması kullanarak yeni bir parola aşı oluşturur.
  </p>
  <p class="simpara">
   Desteklenen algoritmalar:
  </p>
  <p class="para">
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="password.constants.php#constant.password-default">PASSWORD_DEFAULT</a></code></strong> - Bcrypt algoritması kullanılır
      (PHP 5.5.0&#039;dan itibaren öntanımlıdır). Bu sabitin, PHP&#039;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).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong> - Aş oluşturmak için
      <strong><code><a href="string.constants.php#constant.crypt-blowfish">CRYPT_BLOWFISH</a></code></strong> algoritması kullanılır. Bu, &quot;$2y$&quot;
      belirtecini kullanarak <span class="function"><a href="function.crypt.php" class="function">crypt()</a></span> uyumlu standart bir
      aş oluşturacaktır. Sonuç her zaman 60 karakterlik bir dizge
      olacaktır, başarısızlık durumunda <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döner.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong> - Aş oluşturmak için Argon2i
      aşlama algoritması kullanılır. Bu algoritma sadece PHP, Argon2 desteği
      ile derlenmişse kullanılabilir.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong> - Aş oluşturmak için Argon2id
      aşlama algoritması kullanılır. Bu algoritma sadece PHP, Argon2 desteği
      ile derlenmişse kullanılabilir.
     </span>
    </li>
   </ul>
  </p>
  <p class="simpara">
   <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong> için desteklenen seçenekler:
  </p>
  <p class="para">
   <ul class="itemizedlist">
    <li class="listitem">
     <p class="para">
      <code class="literal">salt</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>) - 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.
     </p>
     <p class="para">
      Belirtilmezse, aşlanan her parola için <span class="function"><strong>password_hash()</strong></span>
      tarafından rasgele bir tuz üretilir. Bu amaçlanan çalışma kipidir.
     </p>
     <div class="warning"><strong class="warning">Uyarı</strong>
      <p class="para">
       <code class="literal">salt</code> seçeneğinin kullanımı önerilmemektedir.
       Artık öntanımlı olarak üretilen tuzun kullanımı öneriliyor.
       PHP 8.0.0 ve sonrasında elle sağlanan tuz yok sayılmaktadır.
      </p>
     </div>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">cost</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Kullanılması gereken
      algoritmik maliyeti belirtir. Bu değerin örnekleri
      <span class="function"><a href="function.crypt.php" class="function">crypt()</a></span> işlevinde bulunabilir.
     </p>
     <p class="para">
      Belirtilmezse, <code class="literal">10</code> öntanımlı değeri kullanılır.
      Bu iyi bir temel maliyettir, ancak donanımınıza bağlı olarak
      arttırılabilir.
     </p>
    </li>
   </ul>
  </p>
  <p class="simpara">
   <strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong>
   ve <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong> için desteklenen seçenekler:
  </p>
  <p class="para">
   <ul class="itemizedlist">
    <li class="listitem">
     <p class="para">
      <code class="literal">memory_cost</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Argon2 aşını
      hesaplamakta kullanılabilecek kilobibayt cinsinden azami bellek.
      <strong><code><a href="password.constants.php#constant.password-argon2-default-memory-cost">PASSWORD_ARGON2_DEFAULT_MEMORY_COST</a></code></strong> öntanımlıdır.
     </p>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">time_cost</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Argon2 aşını
      hesaplamak için gerekebilecek azami süre.
      <strong><code><a href="password.constants.php#constant.password-argon2-default-time-cost">PASSWORD_ARGON2_DEFAULT_TIME_COST</a></code></strong> öntanımlıdır.
     </p>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">threads</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Argon2 aşını
      hesaplamak için kullanılacak evre sayısı.
      <strong><code><a href="password.constants.php#constant.password-argon2-default-threads">PASSWORD_ARGON2_DEFAULT_THREADS</a></code></strong> öntanımlıdır.
     </p>
     <div class="warning"><strong class="warning">Uyarı</strong>
      <p class="para">
        Sadece PHP libargon2 kullanıyorsa, libsodium gerçeklenimini
        kullanmıyorsa, kullanılabilir.
      </p>
     </div>
    </li>
   </ul>
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.password-hash-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
  <dl>
   
    <dt><code class="parameter">parola</code></dt>
    <dd>
     <p class="para">
      Kullanıcı parolası.
     </p>
      <div class="caution"><strong class="caution">Dikkat</strong>
       <p class="para">
        Algoritma olarak <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong> kullanımı
        <code class="parameter">parola</code> bağımsız değişkeninin 72 bayttan
        kırpılmasına sebep olur.
       </p>
      </div>
    </dd>
   
   
    <dt><code class="parameter">algo</code></dt>
    <dd>
     <p class="para">
      Parolaya karıştırma uygulamak için
kullanılacak algoritmayı belirten <a href="password.constants.php" class="link">parola algoritması sabiti</a>.
     </p>
    </dd>
   
   
    <dt><code class="parameter">seçenekler</code></dt>
    <dd>
     <p class="para">
      Seçenekleri içeren ilişkisel bir dizi.
Her algoritma için desteklenen seçenekler
<a href="password.constants.php" class="link">parola
algoritması sabitleri</a> bölümünde bulunabilir.
     </p>
     <p class="para">
      Belirtilmezse, rasgele bir tuz oluşturulur ve öntanımlı maliyet
      kullanılır.
     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.password-hash-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   Başarılı olursa aşlanmış parola döner.
  </p>
  <p class="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,
   <span class="function"><a href="function.password-verify.php" class="function">password_verify()</a></span> işlevinin aşı doğrulamak için ayrı bir
   yerde saklanmış tuz ve algoritma bilgisine ihtiyacı olmaz.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.password-hash-changelog">
  <h3 class="title">Sürüm Bilgisi</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Sürüm: </th>
       <th>Açıklama</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        <span class="function"><strong>password_hash()</strong></span> başarısız olduğunda artık
        <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürmüyor, onun yerine parola aşlama algoritması geçersizse
        <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span>, bilinmeyen bir hatadan dolayı
        parola aşlanamazsa <span class="classname"><a href="class.error.php" class="classname">Error</a></span> istisnası oluşuyor.
       </td>
      </tr>

      <tr>
       <td>8.0.0</td>
       <td>
        <code class="parameter">algo</code> bağımsız değişkeni artık <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> olabiliyor.
       </td>
      </tr>

      <tr>
       <td>7.4.0</td>
       <td>
        <code class="parameter">algo</code> için artık bir dizge gerekiyor, ancak
        geriye uyumluluk için hala tamsayılar kabul ediliyor.
       </td>
      </tr>

      <tr>
       <td>7.4.0</td>
       <td>
        Argon2 parolalar için artık sodium eklentisi de bir diğer gerçeklenim
        olarak kullanılabiliyor.
       </td>
      </tr>

      <tr>
       <td>7.3.0</td>
       <td>
        <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong> kullanan Argon2id parolaları
        için destek eklendi.
       </td>
      </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        <strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong> kullanan Argon2i parolaları
        için destek eklendi.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.password-hash-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - <span class="function"><strong>password_hash()</strong></span> örneği</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/**<br /> * Sadece mevcut öntanımlı algoritmayı kullanarak parolayı aşla.<br /> * Bu şu anda BCRYPT'dir ve 60 karakterlik bir sonuç üretecektir.<br /> *<br /> * Öntanımlının zamanla değişebileceğine dikkat.<br /> * Saklama alanı 60 karakterden fazlasını alabilmeli (255 iyidir)<br /> */<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">password_hash</span><span style="color: #007700">(</span><span style="color: #DD0000">"rasmuslerdorf"</span><span style="color: #007700">, </span><span style="color: #0000BB">PASSWORD_DEFAULT</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - Maliyet belirtilen <span class="function"><strong>password_hash()</strong></span> örneği
    </strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/**<br /> * BCRYPT için öntanımlı maliyet 12'ye çıkarılmak isteniyor.<br /> * BCRYPT için 60 karakter gerektiğine dikkat.<br /> */<br /></span><span style="color: #0000BB">$seçenekler </span><span style="color: #007700">= [<br />    </span><span style="color: #DD0000">'cost' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">12</span><span style="color: #007700">,<br />];<br />echo </span><span style="color: #0000BB">password_hash</span><span style="color: #007700">(</span><span style="color: #DD0000">"rasmuslerdorf"</span><span style="color: #007700">, </span><span style="color: #0000BB">PASSWORD_BCRYPT</span><span style="color: #007700">, </span><span style="color: #0000BB">$seçenekler</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-3">
    <p><strong>Örnek 3 - <span class="function"><strong>password_hash()</strong></span> iyi bir maliyet bulma örneği
    </strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/**<br /> * Bu kod, karşılanabilir maliyetin ne kadar yüksek olduğunu<br /> * belirlemek için sunucuyu sınayacaktır. Sunucuyu çok yavaşlatmadan<br /> * atanabilecek en yüksek maliyetin belirlenmesi isteniyor. 10 iyi<br /> * bir başlangıçtır ve sunucular yeterince hızlıysa fazlası daha iyidir.<br /> * Aşağıdaki kod, etkileşimli oturum açılabilen sistemler için iyi bir sınır<br /> * olarak ≤ 350 milisaniyelik süreyi hedeflemektedir.<br /> */<br /></span><span style="color: #0000BB">$süreHedefi </span><span style="color: #007700">= </span><span style="color: #0000BB">0.35</span><span style="color: #007700">; </span><span style="color: #FF8000">// 350 milisaniye<br /><br /></span><span style="color: #0000BB">$maliyet </span><span style="color: #007700">= </span><span style="color: #0000BB">10</span><span style="color: #007700">;<br />do {<br />    </span><span style="color: #0000BB">$maliyet</span><span style="color: #007700">++;<br />    </span><span style="color: #0000BB">$ilk </span><span style="color: #007700">= </span><span style="color: #0000BB">microtime</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">password_hash</span><span style="color: #007700">(</span><span style="color: #DD0000">"test"</span><span style="color: #007700">, </span><span style="color: #0000BB">PASSWORD_BCRYPT</span><span style="color: #007700">, [</span><span style="color: #DD0000">"cost" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$maliyet</span><span style="color: #007700">]);<br />    </span><span style="color: #0000BB">$son </span><span style="color: #007700">= </span><span style="color: #0000BB">microtime</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br />} while ((</span><span style="color: #0000BB">$son </span><span style="color: #007700">- </span><span style="color: #0000BB">$ilk</span><span style="color: #007700">) &lt; </span><span style="color: #0000BB">$süreHedefi</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"Yaklaşık maliyet bulundu: " </span><span style="color: #007700">. </span><span style="color: #0000BB">$maliyet</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Yaklaşık maliyet bulundu: 12</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-4">
    <p><strong>Örnek 4 - Argon2i kullanılan <span class="function"><strong>password_hash()</strong></span> örneği
    </strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">'Argon2i aş: ' </span><span style="color: #007700">. </span><span style="color: #0000BB">password_hash</span><span style="color: #007700">(</span><span style="color: #DD0000">'rasmuslerdorf'</span><span style="color: #007700">, </span><span style="color: #0000BB">PASSWORD_ARGON2I</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Argon2i aş: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.password-hash-notes">
  <h3 class="title">Notlar</h3>
  <div class="caution"><strong class="caution">Dikkat</strong>
   <p class="para">
    Bu işlev için kendi tuzunuzu oluşturmamanız şiddetle tavsiye edilir.
    Tuz belirtilmezse, otomatik olarak güvenli bir tuz oluşturulur.
   </p>
   <p class="para">
    Yukarıda belirtildiği gibi, PHP 7.0&#039;da <code class="literal">salt</code>
    seçeneğinin belirtilmesi, bir kullanımdan kaldırma uyarısı
    üretecektir. El ile tuz sağlama desteği, PHP 8.0&#039;da
    kaldırıldı.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    Bu işlevin sunucularda sınanması ve <code class="literal">cost</code>
    bağımsız değişkeninin, işlevin etkileşimli sistemlerdeki çalışma süresinin
    350 milisaniyeden daha az olmasını sağlayacak şekilde ayarlanması önerilir.
    Yukarıdaki örnek kod, donanım için iyi bir maliyet değeri seçilmesine
    yardımcı olacaktır.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <span class="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:
   </span>
   <p class="para">
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       Herhangi bir yeni algoritma, öntanımlı duruma gelmeden önce PHP&#039;nin
       en az 1 tam sürümü için çekirdek kodda olmalıdır. Dolayısıyla, örneğin
       7.5.5&#039;te yeni bir algoritma eklenirse, 7.7&#039;ye kadar öntanımlı olması
       uygun olmayacaktır (çünkü 7.6 ilk tam sürüm olacaktır). Ancak 7.6.0&#039;da
       farklı bir algoritma eklenmişse, 7.7.0 öntanımlılık için uygun
       olacaktır.
      </span>
     </li>
     <li class="listitem">
      <span class="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.
      </span>
     </li>
    </ul>
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.password-hash-seealso">
  <h3 class="title">Ayrıca Bakınız</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.password-verify.php" class="function" rel="rdfs-seeAlso">password_verify()</a> - Parola ile aş eşleşmesini doğrular</span></li>
    <li><span class="function"><a href="function.password-needs-rehash.php" class="function" rel="rdfs-seeAlso">password_needs_rehash()</a> - Belirtilen aş ile belirtilen se&ccedil;eneklerin eşleşmesini doğrular</span></li>
    <li><span class="function"><a href="function.crypt.php" class="function" rel="rdfs-seeAlso">crypt()</a> - Tek y&ouml;nl&uuml; dizge aşlama</span></li>
    <li><span class="function"><a href="function.sodium-crypto-pwhash-str.php" class="function" rel="rdfs-seeAlso">sodium_crypto_pwhash_str()</a> - Get an ASCII-encoded hash</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>