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;
}