mdecrypt_generic

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

mdecrypt_genericVerinin şifresini çözer

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.

Değiştirgeler

şt

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

data

Şifrelenmiş veri.

Ö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($tuz0mcrypt_enc_get_key_size($şt));
    
$iv_boyu mcrypt_enc_get_iv_size($şt);
    
$iv mcrypt_create_iv($iv_boyuMCRYPT_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ç$veristrlen($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