mainwp.dev/source-code/child/classes/phpseclib3-Crypt-Hash.html
2025-03-17 19:02:54 -04:00

3556 lines
173 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MainWP Child Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<base href="../">
<link rel="icon" href="images/favicon.ico"/>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/base.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@100;200;300;400;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/template.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity="sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-okaidia.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.css">
<script src="https://cdn.jsdelivr.net/npm/fuse.js@3.4.6"></script>
<script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2"></script>
<script src="js/template.js"></script>
<script src="js/search.js"></script>
<script defer src="js/searchIndex.js"></script>
</head>
<body id="top">
<header class="phpdocumentor-header phpdocumentor-section">
<h1 class="phpdocumentor-title"><a href="" class="phpdocumentor-title__link">MainWP Child Documentation</a></h1>
<input class="phpdocumentor-header__menu-button" type="checkbox" id="menu-button" name="menu-button" />
<label class="phpdocumentor-header__menu-icon" for="menu-button">
<i class="fas fa-bars"></i>
</label>
<section data-search-form class="phpdocumentor-search">
<label>
<span class="visually-hidden">Search for</span>
<svg class="phpdocumentor-search__icon" width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="7.5" cy="7.5" r="6.5" stroke="currentColor" stroke-width="2"/>
<line x1="12.4892" y1="12.2727" x2="19.1559" y2="18.9393" stroke="currentColor" stroke-width="3"/>
</svg>
<input type="search" class="phpdocumentor-field phpdocumentor-search__field" placeholder="Loading .." disabled />
</label>
</section>
<nav class="phpdocumentor-topnav">
<ul class="phpdocumentor-topnav__menu">
</ul>
</nav>
</header>
<main class="phpdocumentor">
<div class="phpdocumentor-section">
<input class="phpdocumentor-sidebar__menu-button" type="checkbox" id="sidebar-button" name="sidebar-button" />
<label class="phpdocumentor-sidebar__menu-icon" for="sidebar-button">
Menu
</label>
<aside class="phpdocumentor-column -three phpdocumentor-sidebar">
<section class="phpdocumentor-sidebar__category -namespaces">
<h2 class="phpdocumentor-sidebar__category-header">Namespaces</h2>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/mainwp.html" class="">MainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/mainwp-child.html" class="">Child</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/paragonie.html" class="">ParagonIE</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/paragonie-constanttime.html" class="">ConstantTime</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/phpseclib3.html" class="">phpseclib3</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/phpseclib3-common.html" class="">Common</a>
</li>
<li>
<a href="namespaces/phpseclib3-crypt.html" class="">Crypt</a>
</li>
<li>
<a href="namespaces/phpseclib3-exception.html" class="">Exception</a>
</li>
<li>
<a href="namespaces/phpseclib3-file.html" class="">File</a>
</li>
<li>
<a href="namespaces/phpseclib3-math.html" class="">Math</a>
</li>
<li>
<a href="namespaces/phpseclib3-net.html" class="">Net</a>
</li>
<li>
<a href="namespaces/phpseclib3-system.html" class="">System</a>
</li>
</ul>
</section>
<section class="phpdocumentor-sidebar__category -packages">
<h2 class="phpdocumentor-sidebar__category-header">Packages</h2>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWP.html" class="">MainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWP-Child.html" class="">Child</a>
</li>
<li>
<a href="packages/MainWP-ChildCreditsPlugin.html" class="">ChildCreditsPlugin</a>
</li>
<li>
<a href="packages/MainWP-Dashboard.html" class="">Dashboard</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPChild.html" class="">MainWPChild</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/ParagonIE.html" class="">ParagonIE</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/ParagonIE-ConstantTime.html" class="">ConstantTime</a>
</li>
</ul>
</section>
<section class="phpdocumentor-sidebar__category -reports">
<h2 class="phpdocumentor-sidebar__category-header">Reports</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="graphs/classes.html">Class Diagram</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/deprecated.html">Deprecated</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/errors.html">Errors</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/markers.html">Markers</a></h3>
</section>
<section class="phpdocumentor-sidebar__category -indices">
<h2 class="phpdocumentor-sidebar__category-header">Indices</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="indices/files.html">Files</a></h3>
</section>
</aside>
<div class="phpdocumentor-column -nine phpdocumentor-content">
<section>
<ul class="phpdocumentor-breadcrumbs">
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3.html">phpseclib3</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/phpseclib3-crypt.html">Crypt</a></li>
</ul>
<article class="phpdocumentor-element -class">
<h2 class="phpdocumentor-content__title">
Hash
<div class="phpdocumentor-element__package">
in package
<ul class="phpdocumentor-breadcrumbs">
<li class="phpdocumentor-breadcrumb"><a href="packages/MainWP.html">MainWP</a></li>
<li class="phpdocumentor-breadcrumb"><a href="packages/MainWP-Child.html">Child</a></li>
</ul>
</div>
</h2>
<div class="phpdocumentor-label-line">
</div>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">44</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.44" class="phpdocumentor-element-found-in__source" data-line="44" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">author</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>Jim Wigginton <a href="mailto:terrafrost@php.net">terrafrost@php.net</a></p>
</section>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">author</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>Andreas Fischer <a href="mailto:bantu@phpbb.com">bantu@phpbb.com</a></p>
</section>
</dd>
</dl>
<h3 id="toc">
Table of Contents
<a href="classes/phpseclib3-Crypt-Hash.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<h4 id="toc-constants">
Constants
<a href="classes/phpseclib3-Crypt-Hash.html#toc-constants" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_KECCAK">PADDING_KECCAK</a>
<span>
&nbsp;= 1 </span>
</dt>
<dd>Padding Types</dd>
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_SHA3">PADDING_SHA3</a>
<span>
&nbsp;= 2 </span>
</dt>
<dd>Padding Types</dd>
<dt class="phpdocumentor-table-of-contents__entry -constant -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_SHAKE">PADDING_SHAKE</a>
<span>
&nbsp;= 3 </span>
</dt>
<dd>Padding Types</dd>
</dl>
<h4 id="toc-properties">
Properties
<a href="classes/phpseclib3-Crypt-Hash.html#toc-properties" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_algo">$algo</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Hash Algorithm</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_blockSize">$blockSize</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Block Size</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_c">$c</a>
<span>
&nbsp;: <a href="classes/phpseclib3-Crypt-AES.html"><abbr title="\phpseclib3\Crypt\AES">AES</abbr></a> </span>
</dt>
<dd>umac cipher object</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_computedKey">$computedKey</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Computed Key</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_factory128">$factory128</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_factory36">$factory36</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_factory64">$factory64</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_hashParam">$hashParam</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Hash Parameter</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_ipad">$ipad</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Inner XOR (Internal HMAC)</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_key">$key</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Key</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_length">$length</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Byte-length of hash output (Internal HMAC)</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_marker128">$marker128</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_marker64">$marker64</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_maxwordrange128">$maxwordrange128</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_maxwordrange64">$maxwordrange64</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_nonce">$nonce</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Nonce</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_offset128">$offset128</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_offset64">$offset64</a>
<span>
&nbsp;: mixed </span>
</dt>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_opad">$opad</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Outer XOR (Internal HMAC)</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_pad">$pad</a>
<span>
&nbsp;: string </span>
</dt>
<dd>umac pad</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_paddingType">$paddingType</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Padding Type</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_parameters">$parameters</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt; </span>
</dt>
<dd>Hash Parameters</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#property_recomputeAESKey">$recomputeAESKey</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Recompute AES Key</dd>
</dl>
<h4 id="toc-methods">
Methods
<a href="classes/phpseclib3-Crypt-Hash.html#toc-methods" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method___construct">__construct()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Default Constructor.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method___toString">__toString()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>__toString() magic method</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_getBlockLength">getBlockLength()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Returns the block length (in bits)</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_getBlockLengthInBytes">getBlockLengthInBytes()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Returns the block length (in bytes)</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_getHash">getHash()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Gets the hash function.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_getLength">getLength()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Returns the hash length (in bits)</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_getLengthInBytes">getLengthInBytes()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>Returns the hash length (in bytes)</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_hash">hash()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Compute the Hash / HMAC / UMAC.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_setHash">setHash()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Sets the hash function.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_setKey">setKey()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Sets the key for HMACs</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_setNonce">setNonce()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Sets the nonce for UMACs</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_computeKey">computeKey()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Pre-compute the key used by the HMAC</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_kdf">kdf()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>KDF: Key-Derivation Function</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_L1Hash">L1Hash()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>L1-HASH Algorithm</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_L2Hash">L2Hash()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>L2-HASH: Second-Layer Hash</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_L3Hash">L3Hash()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>L3-HASH: Third-Layer Hash</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_nh">nh()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>NH Algorithm</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_pdf">pdf()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>PDF Algorithm</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_poly">poly()</a>
<span>
&nbsp;: int </span>
</dt>
<dd>POLY Algorithm</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_processSHA3Block32">processSHA3Block32()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>32-bit block processing method for SHA3</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_processSHA3Block64">processSHA3Block64()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>64-bit block processing method for SHA3</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_rotateLeft32">rotateLeft32()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Rotate 32-bit int</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_rotateLeft64">rotateLeft64()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Rotate 64-bit int</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_sha3_32">sha3_32()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Pure-PHP 32-bit implementation of SHA3</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_sha3_64">sha3_64()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Pure-PHP 64-bit implementation of SHA3</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_sha3_pad">sha3_pad()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Pads SHA3 based on the mode</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_sha512">sha512()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Pure-PHP implementation of SHA512</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a class="" href="classes/phpseclib3-Crypt-Hash.html#method_uhash">uhash()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>UHASH Algorithm</dd>
</dl>
<section class="phpdocumentor-constants">
<h3 class="phpdocumentor-elements__header" id="constants">
Constants
<a href="classes/phpseclib3-Crypt-Hash.html#constants" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_PADDING_KECCAK">
PADDING_KECCAK
<a href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_KECCAK" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">50</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.50" class="phpdocumentor-element-found-in__source" data-line="50" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Padding Types</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">PADDING_KECCAK</span>
= <span class="phpdocumentor-signature__default-value">1</span>
</code>
</article>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_PADDING_SHA3">
PADDING_SHA3
<a href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_SHA3" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">56</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.56" class="phpdocumentor-element-found-in__source" data-line="56" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Padding Types</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">PADDING_SHA3</span>
= <span class="phpdocumentor-signature__default-value">2</span>
</code>
</article>
<article class="phpdocumentor-element -constant -public ">
<h4 class="phpdocumentor-element__name" id="constant_PADDING_SHAKE">
PADDING_SHAKE
<a href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_SHAKE" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">62</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.62" class="phpdocumentor-element-found-in__source" data-line="62" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Padding Types</p>
<code class="phpdocumentor-signature phpdocumentor-code ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">PADDING_SHAKE</span>
= <span class="phpdocumentor-signature__default-value">3</span>
</code>
</article>
</section>
<section class="phpdocumentor-properties">
<h3 class="phpdocumentor-elements__header" id="properties">
Properties
<a href="classes/phpseclib3-Crypt-Hash.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_algo">
$algo
<a href="classes/phpseclib3-Crypt-Hash.html#property_algo" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">95</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.95" class="phpdocumentor-element-found-in__source" data-line="95" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Hash Algorithm</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$algo</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_algo#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::setHash()">self::setHash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_blockSize">
$blockSize
<a href="classes/phpseclib3-Crypt-Hash.html#property_blockSize" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">179</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.179" class="phpdocumentor-element-found-in__source" data-line="179" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Block Size</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$blockSize</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_c">
$c
<a href="classes/phpseclib3-Crypt-Hash.html#property_c" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">164</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.164" class="phpdocumentor-element-found-in__source" data-line="164" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">umac cipher object</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type"><a href="classes/phpseclib3-Crypt-AES.html"><abbr title="\phpseclib3\Crypt\AES">AES</abbr></a></span>
<span class="phpdocumentor-signature__name">$c</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_c#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::hash()">self::hash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_computedKey">
$computedKey
<a href="classes/phpseclib3-Crypt-Hash.html#property_computedKey" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">126</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.126" class="phpdocumentor-element-found-in__source" data-line="126" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Computed Key</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$computedKey</span>
= <span class="phpdocumentor-signature__default-value">false</span></code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_computedKey#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::_computeKey()">self::_computeKey()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_factory128">
$factory128
<a href="classes/phpseclib3-Crypt-Hash.html#property_factory128" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">188</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.188" class="phpdocumentor-element-found-in__source" data-line="188" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$factory128</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_factory36">
$factory36
<a href="classes/phpseclib3-Crypt-Hash.html#property_factory36" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">186</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.186" class="phpdocumentor-element-found-in__source" data-line="186" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$factory36</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_factory64">
$factory64
<a href="classes/phpseclib3-Crypt-Hash.html#property_factory64" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">187</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.187" class="phpdocumentor-element-found-in__source" data-line="187" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$factory64</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_hashParam">
$hashParam
<a href="classes/phpseclib3-Crypt-Hash.html#property_hashParam" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">79</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.79" class="phpdocumentor-element-found-in__source" data-line="79" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Hash Parameter</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$hashParam</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_hashParam#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::setHash()">self::setHash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_ipad">
$ipad
<a href="classes/phpseclib3-Crypt-Hash.html#property_ipad" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">146</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.146" class="phpdocumentor-element-found-in__source" data-line="146" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Inner XOR (Internal HMAC)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$ipad</span>
</code>
<section class="phpdocumentor-description"><p>Used only for sha512/*</p>
</section>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_ipad#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::hash()">self::hash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_key">
$key
<a href="classes/phpseclib3-Crypt-Hash.html#property_key" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">103</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.103" class="phpdocumentor-element-found-in__source" data-line="103" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Key</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$key</span>
= <span class="phpdocumentor-signature__default-value">false</span></code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_key#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::setKey()">self::setKey()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_length">
$length
<a href="classes/phpseclib3-Crypt-Hash.html#property_length" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">87</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.87" class="phpdocumentor-element-found-in__source" data-line="87" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Byte-length of hash output (Internal HMAC)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$length</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_length#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::setHash()">self::setHash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_marker128">
$marker128
<a href="classes/phpseclib3-Crypt-Hash.html#property_marker128" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">192</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.192" class="phpdocumentor-element-found-in__source" data-line="192" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$marker128</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_marker64">
$marker64
<a href="classes/phpseclib3-Crypt-Hash.html#property_marker64" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">191</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.191" class="phpdocumentor-element-found-in__source" data-line="191" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$marker64</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_maxwordrange128">
$maxwordrange128
<a href="classes/phpseclib3-Crypt-Hash.html#property_maxwordrange128" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">194</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.194" class="phpdocumentor-element-found-in__source" data-line="194" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$maxwordrange128</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_maxwordrange64">
$maxwordrange64
<a href="classes/phpseclib3-Crypt-Hash.html#property_maxwordrange64" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">193</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.193" class="phpdocumentor-element-found-in__source" data-line="193" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$maxwordrange64</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_nonce">
$nonce
<a href="classes/phpseclib3-Crypt-Hash.html#property_nonce" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">111</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.111" class="phpdocumentor-element-found-in__source" data-line="111" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Nonce</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$nonce</span>
= <span class="phpdocumentor-signature__default-value">false</span></code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_nonce#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::setNonce()">self::setNonce()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_offset128">
$offset128
<a href="classes/phpseclib3-Crypt-Hash.html#property_offset128" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">190</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.190" class="phpdocumentor-element-found-in__source" data-line="190" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$offset128</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="property_offset64">
$offset64
<a href="classes/phpseclib3-Crypt-Hash.html#property_offset64" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">189</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.189" class="phpdocumentor-element-found-in__source" data-line="189" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__type">mixed</span>
<span class="phpdocumentor-signature__name">$offset64</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_opad">
$opad
<a href="classes/phpseclib3-Crypt-Hash.html#property_opad" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">136</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.136" class="phpdocumentor-element-found-in__source" data-line="136" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Outer XOR (Internal HMAC)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$opad</span>
</code>
<section class="phpdocumentor-description"><p>Used only for sha512/*</p>
</section>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_opad#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::hash()">self::hash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_pad">
$pad
<a href="classes/phpseclib3-Crypt-Hash.html#property_pad" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">172</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.172" class="phpdocumentor-element-found-in__source" data-line="172" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">umac pad</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$pad</span>
</code>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_pad#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::hash()">self::hash()</abbr></span>
</dd>
</dl>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_paddingType">
$paddingType
<a href="classes/phpseclib3-Crypt-Hash.html#property_paddingType" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">71</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.71" class="phpdocumentor-element-found-in__source" data-line="71" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Padding Type</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$paddingType</span>
= <span class="phpdocumentor-signature__default-value">0</span></code>
<section class="phpdocumentor-description"><p>Only used by SHA3</p>
</section>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_parameters">
$parameters
<a href="classes/phpseclib3-Crypt-Hash.html#property_parameters" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">118</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.118" class="phpdocumentor-element-found-in__source" data-line="118" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Hash Parameters</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">array&lt;string|int, mixed&gt;</span>
<span class="phpdocumentor-signature__name">$parameters</span>
= <span class="phpdocumentor-signature__default-value">[]</span></code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_recomputeAESKey">
$recomputeAESKey
<a href="classes/phpseclib3-Crypt-Hash.html#property_recomputeAESKey" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">156</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.156" class="phpdocumentor-element-found-in__source" data-line="156" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Recompute AES Key</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">bool</span>
<span class="phpdocumentor-signature__name">$recomputeAESKey</span>
</code>
<section class="phpdocumentor-description"><p>Used only for umac</p>
</section>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/phpseclib3-Crypt-Hash.html#property_recomputeAESKey#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">see</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\phpseclib3\Crypt\self::hash()">self::hash()</abbr></span>
</dd>
</dl>
</article>
</section>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
<a href="classes/phpseclib3-Crypt-Hash.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___construct">
__construct()
<a href="classes/phpseclib3-Crypt-Hash.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">202</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.202" class="phpdocumentor-element-found-in__source" data-line="202" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Default Constructor.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$hash</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">&#039;sha256&#039;</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$hash</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
= <span class="phpdocumentor-signature__argument__default-value">&#039;sha256&#039;</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___toString">
__toString()
<a href="classes/phpseclib3-Crypt-Hash.html#method___toString" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1451</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1451" class="phpdocumentor-element-found-in__source" data-line="1451" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">__toString() magic method</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__toString</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getBlockLength">
getBlockLength()
<a href="classes/phpseclib3-Crypt-Hash.html#method_getBlockLength" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">887</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.887" class="phpdocumentor-element-found-in__source" data-line="887" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Returns the block length (in bits)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getBlockLength</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getBlockLengthInBytes">
getBlockLengthInBytes()
<a href="classes/phpseclib3-Crypt-Hash.html#method_getBlockLengthInBytes" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">897</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.897" class="phpdocumentor-element-found-in__source" data-line="897" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Returns the block length (in bytes)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getBlockLengthInBytes</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getHash">
getHash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_getHash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">276</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.276" class="phpdocumentor-element-found-in__source" data-line="276" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Gets the hash function.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getHash</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>As set by the constructor or by the setHash() method.</p>
</section>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getLength">
getLength()
<a href="classes/phpseclib3-Crypt-Hash.html#method_getLength" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">867</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.867" class="phpdocumentor-element-found-in__source" data-line="867" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Returns the hash length (in bits)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getLength</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_getLengthInBytes">
getLengthInBytes()
<a href="classes/phpseclib3-Crypt-Hash.html#method_getLengthInBytes" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">877</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.877" class="phpdocumentor-element-found-in__source" data-line="877" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Returns the hash length (in bytes)</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">getLengthInBytes</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_hash">
hash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_hash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">780</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.780" class="phpdocumentor-element-found-in__source" data-line="780" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Compute the Hash / HMAC / UMAC.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">hash</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$text</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$text</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_setHash">
setHash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_setHash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">286</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.286" class="phpdocumentor-element-found-in__source" data-line="286" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Sets the hash function.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">setHash</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$hash</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$hash</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_setKey">
setKey()
<a href="classes/phpseclib3-Crypt-Hash.html#method_setKey" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">214</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.214" class="phpdocumentor-element-found-in__source" data-line="214" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Sets the key for HMACs</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">setKey</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$key</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">false</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Keys can be of any length.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$key</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
= <span class="phpdocumentor-signature__argument__default-value">false</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method_setNonce">
setNonce()
<a href="classes/phpseclib3-Crypt-Hash.html#method_setNonce" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">228</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.228" class="phpdocumentor-element-found-in__source" data-line="228" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Sets the nonce for UMACs</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">setNonce</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$nonce</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">false</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Keys can be of any length.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$nonce</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
= <span class="phpdocumentor-signature__argument__default-value">false</span> </dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
"
>
<h4 class="phpdocumentor-element__name" id="method_computeKey">
computeKey()
<a href="classes/phpseclib3-Crypt-Hash.html#method_computeKey" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">252</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.252" class="phpdocumentor-element-found-in__source" data-line="252" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Pre-compute the key used by the HMAC</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__name">computeKey</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Quoting http://tools.ietf.org/html/rfc2104#section-2, &quot;Applications that use keys longer than B bytes
will first hash the key using H and then use the resultant L byte string as the actual key to HMAC.&quot;</p>
<p>As documented in https://www.reddit.com/r/PHP/comments/9nct2l/symfonypolyfill_hash_pbkdf2_correct_fix_for/
when doing an HMAC multiple times it's faster to compute the hash once instead of computing it during
every call</p>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
"
>
<h4 class="phpdocumentor-element__name" id="method_kdf">
kdf()
<a href="classes/phpseclib3-Crypt-Hash.html#method_kdf" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">451</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.451" class="phpdocumentor-element-found-in__source" data-line="451" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">KDF: Key-Derivation Function</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__name">kdf</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$index</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$numbytes</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>The key-derivation function generates pseudorandom bits used to key the hash functions.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$index</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>a non-negative integer less than 2^64</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$numbytes</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>a non-negative integer less than 2^64</p>
</section>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length numbytes bytes</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_L1Hash">
L1Hash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_L1Hash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">556</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.556" class="phpdocumentor-element-found-in__source" data-line="556" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">L1-HASH Algorithm</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">L1Hash</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$k</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>The first-layer hash breaks the message into 1024-byte chunks and
hashes each with a function called NH. Concatenating the results
forms a string, which is up to 128 times shorter than the original.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$k</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length 1024 bytes.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length less than 2^67 bits.</p>
</section>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length (8 * ceil(bitlength(M)/8192)) bytes.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_L2Hash">
L2Hash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_L2Hash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">665</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.665" class="phpdocumentor-element-found-in__source" data-line="665" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">L2-HASH: Second-Layer Hash</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">L2Hash</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$k</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>The second-layer rehashes the L1-HASH output using a polynomial hash
called POLY. If the L1-HASH output is long, then POLY is called once
on a prefix of the L1-HASH output and called using different settings
on the remainder. (This two-step hashing of the L1-HASH output is
needed only if the message length is greater than 16 megabytes.)
Careful implementation of POLY is necessary to avoid a possible
timing attack (see Section 6.6 for more information).</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$k</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length 24 bytes.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length less than 2^64 bytes.</p>
</section>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length 16 bytes.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_L3Hash">
L3Hash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_L3Hash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">758</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.758" class="phpdocumentor-element-found-in__source" data-line="758" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">L3-HASH: Third-Layer Hash</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">L3Hash</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$k1</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$k2</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>The output from L2-HASH is 16 bytes long. This final hash function
hashes the 16-byte string to a fixed length of 4 bytes.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$k1</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length 64 bytes.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$k2</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length 4 bytes.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length 16 bytes.</p>
</section>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length 4 bytes.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_nh">
nh()
<a href="classes/phpseclib3-Crypt-Hash.html#method_nh" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">596</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.596" class="phpdocumentor-element-found-in__source" data-line="596" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">NH Algorithm</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">nh</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$k</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$length</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$k</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length 1024 bytes.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string with length divisible by 32 bytes.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$length</span>
: <span class="phpdocumentor-signature__argument__return-type">mixed</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length 8 bytes.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
"
>
<h4 class="phpdocumentor-element__name" id="method_pdf">
pdf()
<a href="classes/phpseclib3-Crypt-Hash.html#method_pdf" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">463</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.463" class="phpdocumentor-element-found-in__source" data-line="463" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">PDF Algorithm</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__name">pdf</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length taglen bytes.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_poly">
poly()
<a href="classes/phpseclib3-Crypt-Hash.html#method_poly" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">706</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.706" class="phpdocumentor-element-found-in__source" data-line="706" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">POLY Algorithm</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">poly</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$wordbits</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger.html"><abbr title="\phpseclib3\Math\BigInteger">BigInteger</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$maxwordrange</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger.html"><abbr title="\phpseclib3\Math\BigInteger">BigInteger</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$k</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">int</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$wordbits</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>the integer 64 or 128.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$maxwordrange</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger.html"><abbr title="\phpseclib3\Math\BigInteger">BigInteger</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>positive integer less than 2^wordbits.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$k</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/phpseclib3-Math-BigInteger.html"><abbr title="\phpseclib3\Math\BigInteger">BigInteger</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>integer in the range 0 ... prime(wordbits) - 1.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string with length divisible by (wordbits / 8) bytes.</p>
</section>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int</span>
&mdash;
<section class="phpdocumentor-description"><p>in the range 0 ... prime(wordbits) - 1.</p>
</section>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_processSHA3Block32">
processSHA3Block32()
<a href="classes/phpseclib3-Crypt-Hash.html#method_processSHA3Block32" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1009</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1009" class="phpdocumentor-element-found-in__source" data-line="1009" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">32-bit block processing method for SHA3</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">processSHA3Block32</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__reference-operator">&amp;</span><span class="phpdocumentor-signature__argument__name">$s</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$s</span>
: <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_processSHA3Block64">
processSHA3Block64()
<a href="classes/phpseclib3-Crypt-Hash.html#method_processSHA3Block64" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1198</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1198" class="phpdocumentor-element-found-in__source" data-line="1198" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">64-bit block processing method for SHA3</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">processSHA3Block64</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__reference-operator">&amp;</span><span class="phpdocumentor-signature__argument__name">$s</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$s</span>
: <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_rotateLeft32">
rotateLeft32()
<a href="classes/phpseclib3-Crypt-Hash.html#method_rotateLeft32" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1119</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1119" class="phpdocumentor-element-found-in__source" data-line="1119" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Rotate 32-bit int</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">rotateLeft32</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_rotateLeft64">
rotateLeft64()
<a href="classes/phpseclib3-Crypt-Hash.html#method_rotateLeft64" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1285</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1285" class="phpdocumentor-element-found-in__source" data-line="1285" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Rotate 64-bit int</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">rotateLeft64</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$x</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$shift</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$x</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$shift</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_sha3_32">
sha3_32()
<a href="classes/phpseclib3-Crypt-Hash.html#method_sha3_32" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">953</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.953" class="phpdocumentor-element-found-in__source" data-line="953" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Pure-PHP 32-bit implementation of SHA3</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">sha3_32</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$p</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$c</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$r</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$d</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$padType</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<section class="phpdocumentor-description"><p>Whereas BigInteger.php's 32-bit engine works on PHP 64-bit this 32-bit implementation
of SHA3 will <em>not</em> work on PHP 64-bit. This is because this implementation
employees bitwise NOTs and bitwise left shifts. And the round constants only work
on 32-bit PHP. eg. dechex(-2147483648) returns 80000000 on 32-bit PHP and
FFFFFFFF80000000 on 64-bit PHP. Sure, we could do bitwise ANDs but that would slow
things down.</p>
<p>SHA512 requires BigInteger to simulate 64-bit unsigned integers because SHA2 employees
addition whereas SHA3 just employees bitwise operators. PHP64 only supports signed
64-bit integers, which complicates addition, whereas that limitation isn't an issue
for SHA3.</p>
<p>In https://ws680.nist.gov/publication/get_pdf.cfm?pub_id=919061#page=16 KECCAK[C] is
defined as &quot;the KECCAK instance with KECCAK-f[1600] as the underlying permutation and
capacity c&quot;. This is relevant because, altho the KECCAK standard defines a mode
(KECCAK-f[800]) designed for 32-bit machines that mode is incompatible with SHA3</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$p</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$c</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$r</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$d</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$padType</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_sha3_64">
sha3_64()
<a href="classes/phpseclib3-Crypt-Hash.html#method_sha3_64" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1143</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1143" class="phpdocumentor-element-found-in__source" data-line="1143" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Pure-PHP 64-bit implementation of SHA3</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">sha3_64</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$p</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$c</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$r</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$d</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$padType</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$p</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$c</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$r</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$d</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$padType</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_sha3_pad">
sha3_pad()
<a href="classes/phpseclib3-Crypt-Hash.html#method_sha3_pad" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">909</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.909" class="phpdocumentor-element-found-in__source" data-line="909" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Pads SHA3 based on the mode</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">sha3_pad</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$padLength</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$padType</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$padLength</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$padType</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
-static "
>
<h4 class="phpdocumentor-element__name" id="method_sha512">
sha512()
<a href="classes/phpseclib3-Crypt-Hash.html#method_sha512" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">1297</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.1297" class="phpdocumentor-element-found-in__source" data-line="1297" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Pure-PHP implementation of SHA512</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__static">static</span> <span class="phpdocumentor-signature__name">sha512</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__name">$hash</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$hash</span>
: <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
</section>
</article>
<article
class="phpdocumentor-element
-method
-private
"
>
<h4 class="phpdocumentor-element__name" id="method_uhash">
uhash()
<a href="classes/phpseclib3-Crypt-Hash.html#method_uhash" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php"><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-hash.html"><abbr title="libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php">Hash.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">508</span>
<a href="classes/phpseclib3-Crypt-Hash.html#source-view.508" class="phpdocumentor-element-found-in__source" data-line="508" data-modal="source-view" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">UHASH Algorithm</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__name">uhash</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$m</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">int&nbsp;</span><span class="phpdocumentor-signature__argument__name">$taglen</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$m</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>string of length less than 2^67 bits.</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$taglen</span>
: <span class="phpdocumentor-signature__argument__return-type">int</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>the integer 4, 8, 12 or 16.</p>
</section>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
&mdash;
<section class="phpdocumentor-description"><p>string of length taglen bytes.</p>
</section>
</section>
</article>
</section>
<div class="phpdocumentor-modal" id="source-view">
<div class="phpdocumentor-modal-bg" data-exit-button></div>
<div class="phpdocumentor-modal-container">
<div class="phpdocumentor-modal-content">
<pre style="max-height: 500px; overflow-y: scroll" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php.txt" class="language-php line-numbers linkable-line-numbers"></pre>
</div>
<button data-exit-button class="phpdocumentor-modal__close">&times;</button>
</div>
</div>
<script type="text/javascript">
(function () {
function loadExternalCodeSnippet(el, url, line) {
Array.prototype.slice.call(el.querySelectorAll('pre[data-src]')).forEach((pre) => {
const src = url || pre.getAttribute('data-src').replace(/\\/g, '/');
const language = 'php';
const code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
pre.setAttribute('data-line', line)
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4) {
return;
}
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
return;
}
if (xhr.status === 404) {
code.textContent = '✖ Error: File could not be found';
return;
}
if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
return;
}
code.textContent = '✖ Error: An unknown error occurred';
};
xhr.send(null);
});
}
const modalButtons = document.querySelectorAll("[data-modal]");
const openedAsLocalFile = window.location.protocol === 'file:';
if (modalButtons.length > 0 && openedAsLocalFile) {
console.warn(
'Viewing the source code is unavailable because you are opening this page from the file:// scheme; ' +
'browsers block XHR requests when a page is opened this way'
);
}
modalButtons.forEach(function (trigger) {
if (openedAsLocalFile) {
trigger.setAttribute("hidden", "hidden");
}
trigger.addEventListener("click", function (event) {
event.preventDefault();
const modal = document.getElementById(trigger.dataset.modal);
if (!modal) {
console.error(`Modal with id "${trigger.dataset.modal}" could not be found`);
return;
}
modal.classList.add("phpdocumentor-modal__open");
loadExternalCodeSnippet(modal, trigger.dataset.src || null, trigger.dataset.line)
const exits = modal.querySelectorAll("[data-exit-button]");
exits.forEach(function (exit) {
exit.addEventListener("click", function (event) {
event.preventDefault();
modal.classList.remove("phpdocumentor-modal__open");
});
});
});
});
})();
</script>
</article>
</section>
<section class="phpdocumentor-on-this-page__sidebar">
<section class="phpdocumentor-on-this-page__content">
<strong class="phpdocumentor-on-this-page__title">On this page</strong>
<ul class="phpdocumentor-list -clean">
<li class="phpdocumentor-on-this-page-section__title">Table Of Contents</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/phpseclib3-Crypt-Hash.html#toc-constants">Constants</a></li>
<li><a href="classes/phpseclib3-Crypt-Hash.html#toc-properties">Properties</a></li>
<li><a href="classes/phpseclib3-Crypt-Hash.html#toc-methods">Methods</a></li>
</ul>
</li>
<li class="phpdocumentor-on-this-page-section__title">Constants</li>
<li>
<ul class="phpdocumentor-list -clean">
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_KECCAK">PADDING_KECCAK</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_SHA3">PADDING_SHA3</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#constant_PADDING_SHAKE">PADDING_SHAKE</a></li>
</ul>
</li>
<li class="phpdocumentor-on-this-page-section__title">Properties</li>
<li>
<ul class="phpdocumentor-list -clean">
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_algo">$algo</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_blockSize">$blockSize</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_c">$c</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_computedKey">$computedKey</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_factory128">$factory128</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_factory36">$factory36</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_factory64">$factory64</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_hashParam">$hashParam</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_ipad">$ipad</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_key">$key</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_length">$length</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_marker128">$marker128</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_marker64">$marker64</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_maxwordrange128">$maxwordrange128</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_maxwordrange64">$maxwordrange64</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_nonce">$nonce</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_offset128">$offset128</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_offset64">$offset64</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_opad">$opad</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_pad">$pad</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_paddingType">$paddingType</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_parameters">$parameters</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#property_recomputeAESKey">$recomputeAESKey</a></li>
</ul>
</li>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method___toString">__toString()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_getBlockLength">getBlockLength()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_getBlockLengthInBytes">getBlockLengthInBytes()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_getHash">getHash()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_getLength">getLength()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_getLengthInBytes">getLengthInBytes()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_hash">hash()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_setHash">setHash()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_setKey">setKey()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_setNonce">setNonce()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_computeKey">computeKey()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_kdf">kdf()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_L1Hash">L1Hash()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_L2Hash">L2Hash()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_L3Hash">L3Hash()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_nh">nh()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_pdf">pdf()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_poly">poly()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_processSHA3Block32">processSHA3Block32()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_processSHA3Block64">processSHA3Block64()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_rotateLeft32">rotateLeft32()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_rotateLeft64">rotateLeft64()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_sha3_32">sha3_32()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_sha3_64">sha3_64()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_sha3_pad">sha3_pad()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_sha512">sha512()</a></li>
<li class=""><a href="classes/phpseclib3-Crypt-Hash.html#method_uhash">uhash()</a></li>
</ul>
</li>
</ul>
</section>
</section>
</div>
<section data-search-results class="phpdocumentor-search-results phpdocumentor-search-results--hidden">
<section class="phpdocumentor-search-results__dialog">
<header class="phpdocumentor-search-results__header">
<h2 class="phpdocumentor-search-results__title">Search results</h2>
<button class="phpdocumentor-search-results__close"><i class="fas fa-times"></i></button>
</header>
<section class="phpdocumentor-search-results__body">
<ul class="phpdocumentor-search-results__entries"></ul>
</section>
</section>
</section>
</div>
<a href="classes/phpseclib3-Crypt-Hash.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>
<script>
cssVars({});
</script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/prism.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.min.js"></script>
</body>
</html>