hash_update

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_updateVeriyi etkin bir aşlama bağlamına dahil eder

Açıklama

hash_update(HashContext $bağlam, string $veri): bool

Veriyi etkin bir aşlama bağlamına dahil eder.

Bağımsız Değişkenler

bağlam

hash_init() tarafından döndürülmüş aşlama bağlamı.

veri

İleti aşına dahil edilecek ileti.

Dönen Değerler

true döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
7.2.0 resource türünde bir değer yerine HashContext kabul ediliyor.

Ayrıca Bakınız

  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_update_file() - Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder
  • hash_update_stream() - Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
  • hash_final() - Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür

add a note

User Contributed Notes 1 note

up
6
Dainichi
17 years ago
A simple example on incremental file hashing:

$fp = fopen($file, "r");
$ctx = hash_init('sha256');
while (!feof($fp)) {
$buffer = fgets($fp, 65536);
hash_update($ctx, $buffer);
}
$hash = hash_final($ctx, true);
fclose($fp);

While incremental hashing is quite slow, it's the easiest way to hash
- parts of large files: I.e., a 700MB avi video uses first x bytes to store metadata, so in order to hash the avi's data only, you have to fseek to data start and use incremental hashing
- streaming data if php just proxies the data
- whenever it's inadequate or impossible to store the data being hashed into memory (i.e. because of their size) or on disc.
To Top