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,
    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 ("md5", "sha256", "haval160,4" vb.). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

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() - Bir ileti aşı üretir
  • hash_algos() - Kayıtlı aşlama algoritmalarının bir listesini döndürür
  • hash_file() - Belirtilen dosyanın içeriğinden bir ileti aşı üretir
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_hmac_file() - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

add a note add a note

User Contributed Notes

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