(PHP 4 >= 4.0.2, PHP 5, PHP 7)
mdecrypt_generic — Verinin şifresini çözer
$şt
   , string $veri
   )Belirtilen verinin şifresini çözer. Şifresi çözülürken verinin sonuna eklenen baytlar yüzünden dönen dizge şifrelenmemiş dizgeden daha uzundur.
ştmcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.
dataŞifrelenmiş veri.
Ö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.