cache,'signature')) { if ($this->size) { $this->fopen(); $hash = $hash ?: hash_init($alg); while (! is_null($read=$this->fread(16384))) hash_update($hash,$read); $this->fclose(); if ($next) return $hash; else $this->cache['signature'] = hash_final($hash); } else { $this->cache['signature'] = NULL; } } return $this->cache['signature']; } }