PHP 8.4.3 Released!

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mdecrypt_genericVerinin şifresini çözer

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mdecrypt_generic(resource $şt, string $veri): string

Belirtilen verinin şifresini çözer. Şifresi çözülürken verinin sonuna eklenen baytlar yüzünden dönen dizge şifrelenmemiş dizgeden daha uzundur.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

data

Şifrelenmiş veri.

Dönen Değerler

Şifresi çözülmüş veri döner.

Örnekler

Örnek 1 - mdecrypt_generic() örneği

<?php
/* Veri */
$tuz = 'Bu anahtar bu şifre için bile gereğinden uzun bir anahtar';
$veri = 'çok önemli veri';

/* Modülü açıp bir İV üretelim */
$şt = mcrypt_module_open('des', '', 'ecb', '');
$tuz = substr($tuz, 0, mcrypt_enc_get_key_size($şt));
$iv_boyu = mcrypt_enc_get_iv_size($şt);
$iv = mcrypt_create_iv($iv_boyu, MCRYPT_RAND);

/* Şifreleme tanıtıcısını ilklendirelim */
if (mcrypt_generic_init($şt, $tuz, $iv) != -1) {

/* Veriyi şifreleyelim */
$şifreli_veri = mcrypt_generic($şt, $veri);
mcrypt_generic_deinit($şt);

/* Şifreyi çözmek için tamponu ilklendirelim */
mcrypt_generic_init($şt, $tuz, $iv);
$sonuç = mdecrypt_generic($şt, $şifreli_veri);

/* Temizlik */
mcrypt_generic_deinit($şt);
mcrypt_module_close($şt);
}

if (
strncmp($sonuç, $veri, strlen($veri)) == 0) {
echo
"Tamam\n";
} else {
echo
"Hata\n";
}
?>

Yukarıdaki örnekte, şifreleme öncesi veri ile şifreleme sonrası şifresi çözülmüş verinin nasıl karşılaştırılacağı gösterilmiştir. Bir verinin şifresini çözmeden önce şifreleme tamponunu mcrypt_generic_init() ile yeniden ilklendirmek çok önemlidir.

Bu işlevi çağırmadan önce, mcrypt_generic_init() işlevini bir tuz ve bir İV (ilklendirme vektörü) ile çağırarak şifreleme tanıtıcısını daima ilklendirmelisiniz. Şifreleme bittikten sonra şifreleme tamponlarını mcrypt_generic_deinit() işleviyle serbest bırakmalısınız. Bununla ilgili bir örneği mcrypt_module_open() işlevinin açıklamasında bulabilirsiniz.

Ayrıca Bakınız

add a note

User Contributed Notes

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