PHP 8.4.1 Released!

hash_init

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

hash_initArdışık aşlama bağlamını ilklendirir

Açıklama

hash_init(
    string $algo,
    int $sabitler = 0,
    #[\SensitiveParameter] string $anahtar = "",
    array $seçenekler = []
): HashContext

Ardışık aşlama bağlamını ilklendirir.

Bağımsız Değişkenler

algo

Aşlama algoritmasının ismi (örn, "sha256"). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

Bilginize:

HASH_HMAC seçeneği belirtilmişse kriptografik olmayan aş işlevlerine izin verilmez.

sabitler

İleti aşının üretimi için isteğe bağlı sabitler. Şimdilik tek bir sabit desteklenmektedir: HASH_HMAC. Bu sabit belirtildiği takdirde, anahtar bağımsız değişkeni de belirtilmelidir.

anahtar

sabitler bağımsız değişkeninde HASH_HMAC belirtildiği takdirde, HMAC aşlama yöntemi ile kullanılacak paylaşımlı gizli anahtar.

seçenekler

Çeşitli aşlama algoritmaları için seçenekleri içeren dizi. Şimdilik sadece, MurmurHash türevleri "seed" bağımsız değişkenini desteklemektedir.

Dönen Değerler

hash_update(), hash_update_stream(), hash_update_file(), ve hash_final() işlevlerinde kullanılmak üzere bir Aşlama Bağlamı özkaynağı döndürür.

Hatalar/İstisnalar

algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa bir ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: Açıklama
8.1.0 seçenekler bağımsız değişkeni eklendi.
8.0.0 Artık algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa ya da anahtar boşsa ValueError istisnası oluşuyor. Evvelce false döner ve bir E_WARNING iletisi çıktılanırdı.
7.2.0 Kriptografik olmayan aş işlevlerinin (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ve HASH_HMAC sabitinin kullanımı iptal edildi.
7.2.0 resource türünde bir değer yerine HashContext kabul ediliyor.

Örnekler

Örnek 1 - Ardışık aşlama örneği

<?php
$hash
= hash('sha256', 'Pijamalı hasta yağız şoföre çabucak güvendi.');

$ctx = hash_init('sha256');
hash_update($ctx, 'Pijamalı hasta ');
hash_update($ctx, 'yağız şoföre çabucak güvendi.');
$incremental_hash = hash_final($ctx);

echo
$incremental_hash, PHP_EOL;
var_dump($hash === $incremental_hash);
?>

Yukarıdaki örneğin çıktısı:

04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d
bool(true)

Ayrıca Bakınız

  • hash_algos() - Kayıtlı aşlama algoritmalarının bir listesini döndürür
  • hash_update() - Veriyi etkin bir aşlama bağlamına dahil eder
  • 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

There are no user contributed notes for this page.
To Top