openssl_seal

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_sealVeriyi mühürler (şifreler)

Açıklama

openssl_seal(
    string$veri,
    string&$mühürlü_veri,
    array&$zarf_anahtarları,
    array$genel_anahtar,
    string$algoritma,
    string&$ilklendirme_yöneyi = null
): int|false

Rasgele üretilmiş bir gizli anahtarla verilen algoritma'yı kullanarak veriyi mühürler (şifreler) ve mühürlü_veri bağımsız değişkeninde döndürür. Gizli anahtar, genel_anahtar içindeki tanımlayıcılarla ilişkili genel anahtarlarla şifrelenir ve zarf_anahtarları dizisinde döndürülür. Bu, bir kişinin birden fazla alıcıya mühürlü veri gönderebileceği anlamına gelir (genel anahtarlarının elinde olması şartıyla). Her alıcının, hem mühürlü veriyi hem de alıcının genel anahtarıyla şifrelenmiş zarf anahtarını alması gerekir.

Bağımsız Değişkenler

veri

Mühürlenecek veri.

mühürlü_veri

Mühürlenen veri bu bağımsız değişkene konur.

zarf_anahtarları

Genel anahtarlarla şirelenmiş gizli anahtarların döndürüldüğü dizi.

genel_anahtar

Genel anahtarları içeren OpenSSLAsymmetricKey örnekleri dizisi.

algoritma

Şifreleme yöntemi.

Dikkat

Öntanımlı değerin ('RC4') günenilmez olduğu varsayılır. Güvenilir bir şifreleme yöntemi belirtilmesi şiddetle önerilir. method.

ilklendirme_yöneyi

İlklendirme yöneyi.

Dönen Değerler

İşlem başarılı olursa mühürlü veri mühürlü_veri bağımsız değişkenine, zarf mühürleri zarf_anahtarları bağımsız değişkenine konup mühürlü verinin uzunluğu döndürülür. Hata oluşursa false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.
8.0.0algoritma artık seçimlik değil.
8.0.0ilklendirme_yöneyi artık null olabiliyor.

Örnekler

Örnek 1 - openssl_seal() örneği

<?php
// $veri'nin mühürlenecek veriyi içerdiği varsayılıyor.

// alıcıların genel anahtarlarını alıp hazırlayalım
$dt = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$sert = fread($dt, 8192);
fclose($dt);
$ga1 = openssl_get_publickey($sert);

// İşlemi ikinci alıcı için yineleyelim.
$dt = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$sert = fread($dt, 8192);
fclose($dt);
$ga2 = openssl_get_publickey($sert);

// Veriyi mühürleyelim. $muhurlu_veri sadece $ga1 ve $ga2'nin sahipleri
// tarafından sırasıyla $muhurler[0] ve $muhurler[1] anahtarları ile
// çözülebilir.
openssl_seal($data, $muhurlu_veri, $muhurler, array($ga1, $ga2));

// anahtar belleklerini serbest bırakalım
openssl_free_key($ga1);
openssl_free_key($ga2);
?>

Ayrıca Bakınız

To Top