array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.mcrypt-module-open.php', 1 => 'mcrypt_module_open', ), 'up' => array ( 0 => 'ref.mcrypt.php', 1 => 'Mcrypt İşlevleri', ), 'prev' => array ( 0 => 'function.mcrypt-module-is-block-mode.php', 1 => 'mcrypt_module_is_block_mode', ), 'next' => array ( 0 => 'function.mcrypt-module-self-test.php', 1 => 'mcrypt_module_self_test', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/mcrypt/functions/mcrypt-module-open.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_module_open — Kullanılacak kipi ve algoritma modülünü açar
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.
$algoritma
,$algoritma_dizini
,$kip
,$kip_dizini
Kullanılacak kipi ve algoritma modülünü açar. Algoritma doğrudan ismiyle belirtilebileceği gibi ("twofish"
gibi), MCRYPT_
şifre_adı sabitlerinden biri de belirtilebilir. Modülü kapatmak için mcrypt_module_close() kullanılır.
algoritma
MCRYPT_şifreadı
sabitlerinden biri veya dizge olarak
algoritma adlarından biri.
algoritma_dizini
algorithm_dizini
şifreleme modüllerinin yerlerini
belirtmek için kullanılır. Bir dizin yerine boş bir dizge belirtirseniz
mcrypt.algorithms_dir
php.ini yönergelerinin
değerleri kullanılır. Atanmamışsa libmcrypt derlenirken
kullanılan öntanımlı dizinler kullanılır (genellikle
/usr/local/lib/libmcrypt).
kip
MCRYPT_MODE_kipadı
sabitlerinden biri veya şu dizelerden
biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".
kip_dizini
kip_dizini
şifreleme modüllerinin yerlerini
belirtmek için kullanılır. Bir dizin yerine boş bir dizge belirtirseniz
mcrypt.modes_dir
php.ini yönergelerinin
değerleri kullanılır. Atanmamışsa libmcrypt derlenirken
kullanılan öntanımlı dizinler kullanılır (genellikle
/usr/local/lib/libmcrypt).
Bir hata durumunda false
yoksa bir şifreleme tanıtıcısı döndürür.
Örnek 1 - mcrypt_module_open() örnekleri
<?php
$şt = mcrypt_module_open(MCRYPT_DES, '',
MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');
$şt = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>
Yukarıdaki örnekteki ilk satır öntanımlı dizindeki DES
şifre modülünü ve /usr/lib/mcrypt-modes dizinindeki
ECB
kip modülünü açacaktır. İkinci örnekte şifre ve kip
için isimleri kullanılmaktadır. Bu örnek sadece eklenti, libmcrypt 2.4.x
veya 2.5.x desteğiyle derlenmişse çalışacaktır.
Örnek 2 - Şifreleme için mcrypt_module_open() kullanımı
<?php
/* Şifre modülünü açalım */
$şt = mcrypt_module_open('rijndael-256', '', 'ofb', '');
/* IV'yi oluşturup anahtar uzunluğunu belirleyelim.
Windows'ta bunun yerine MCRYPT_RAND kullanın */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($şt), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($şt);
/* Anahtarı oluşturalım */
$tuz = substr(md5('çok gizli anahtar'), 0, $ks);
/* Şifreleme işlemini ilklendirelim */
mcrypt_generic_init($şt, $tuz, $iv);
/* Veriyi şifreleyelim */
$şifreli = mcrypt_generic($şt, 'Bu çok önemli bir veridir.');
/* Şifre tanıtıcısını sonlandıralım */
mcrypt_generic_deinit($şt);
/* Şifreleme modülünü şifre çözmek için ilklendirelim */
mcrypt_generic_init($şt, $tuz, $iv);
/* Verinin şifresini çözelim */
$şifresiz = mdecrypt_generic($şt, $şifreli);
/* Şifre çözme tanıtıcısını sonlandıralım ve modülü kapatalım */
mcrypt_generic_deinit($şt);
mcrypt_module_close($şt);
/* Dizgeyi gösterelim */
echo trim($şifresiz) . "\n";
?>