protected static function ParagonIE_Sodium_File::onetimeauth_verify in Automatic Updates 7
Same name and namespace in other branches
- 8 vendor/paragonie/sodium_compat/src/File.php \ParagonIE_Sodium_File::onetimeauth_verify()
Parameters
ParagonIE_Sodium_Core_Poly1305_State $state:
resource $ifp:
string $tag:
int $mlen:
Return value
bool
Throws
SodiumException
TypeError
1 call to ParagonIE_Sodium_File::onetimeauth_verify()
- ParagonIE_Sodium_File::secretbox_decrypt in vendor/
paragonie/ sodium_compat/ src/ File.php - Decrypt a file
File
- vendor/
paragonie/ sodium_compat/ src/ File.php, line 1047
Class
- ParagonIE_Sodium_File
- Class ParagonIE_Sodium_File
Code
protected static function onetimeauth_verify(ParagonIE_Sodium_Core_Poly1305_State $state, $ifp, $tag = '', $mlen = 0) {
/** @var int $pos */
$pos = self::ftell($ifp);
/** @var int $iter */
$iter = 1;
/** @var int $incr */
$incr = self::BUFFER_SIZE >> 6;
while ($mlen > 0) {
$blockSize = $mlen > self::BUFFER_SIZE ? self::BUFFER_SIZE : $mlen;
$ciphertext = fread($ifp, $blockSize);
if (!is_string($ciphertext)) {
throw new SodiumException('Could not read input file');
}
$state
->update($ciphertext);
$mlen -= $blockSize;
$iter += $incr;
}
$res = ParagonIE_Sodium_Core_Util::verify_16($tag, $state
->finish());
fseek($ifp, $pos, SEEK_SET);
return $res;
}