Kripto Kütüphanesi


    × Bunları biliyor muydunuz?
"ZN Framework'te tema entegrasyonu sürükle bırak kadar basit bir şekilde gerçekleştirilebilmektedir."


Şifreleme işlevlerini yerine getiren sınıftır. Şifrelemelerde kullanılan vektör ve anahtarlar için varsayılan olarak Config/CryptoGraphy.php dosyasında yer alan projectKey parametresindeki değerden yararlanılmıştır. Kendi vektör ve anahtar değerlerinizi belirtmeniz durumunda kişisel yapılandırmanız geçerli olacaktır.

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-cryptography

 

 

# Yöntemler


String encrypt(String $data, Array $settings = [])
String decrypt(String $data, Array $settings = [])
String keygen(Int $length = 8)
This driver(String $driver)

 

 

# Sürücüler


Aşağıda bu kütüphane ile ilgili kullanılabilir sürücüler listelenmiştir.

openssl Ön tanımlı ayarlıdır.
mcrypt PHP 7.2 sürümünde kaldırılmıştır. 
hash Tek yönlü şifreleme için kullanılır. decrypt() yöntemini desteklemez.
mhash Tek yönlü şifreleme için kullanılır. decrypt() yöntemini desteklemez.
phash decrypt() ve encrypt() yöntemlerini desteklemez.

 

 

# Sürücü Türüne Göre Şifreleme Yapılandırmaları


Aşağıda seçili sürücü türüne göre şifre yapılandırması için kullanabileceğiniz tanımlamalar listelenmiştir.

Openssl Driver[Default]
Cipher[Key Size] aes-128[16]
Vector[Vector Size] ecb[0], rc2[8], cbc[16]
Mcrypt Driver
Cipher[Key Size] des[8], cast-128[16], rijndael-128[16], serpent[16], twofish[16], xtea[16], 3des[24], rijndael-192[24], saferplus[24], tripledes[24], cast-256[32], gost, loki97[32], rijndael-256[32]
Mode ecb, cbc, cfb, ofb, nofb, stream
Vector[Vector Size] bc[8], cast-256[16], loki97[16], rijndael-128[16], saferplus[16], serpent[16], twofish[16], rijndael-192[24], rijndael-256[32]
Önemli: PHP 7.2 sürümü itibari ile mcrypt sürücüsü desteklenmeyecektir.

 

 

# Encrypt (ZN >= 3.0.0)


Düz metinleri verilen parametrelerle şifreler.

Parametreler
String $data Şifrelenecek veri.
Array $settings = [] Ayarlar.
cipher Sürücü türüne göre şifreleme sabitlerinden biri kullanılır.
key Verilerin şifreleneceği anahtar.
mode Sürücü türüne göre şifreleme modlarından biri kullanılır.
vector CBC, CFB, OFB modlarında başlatma ve STREAM modundaki bazı algoritmalarda kullanılır
Return String
Kullanımı
$encrypt = Crypto::encrypt('Example Data',
[
    'key'  => 'xxcv2151',
    'mode' => 'cbc'
]);

echo $encrypt;
/yW/2pwQFgwcotDEE9FYEQ== 

 

 

# Decrypt (ZN >= 3.0.0)


Şifrelenen veriyi çözmek için kullanılır.

Parametreler
String $data Şifrelenecek veri.
Array $settings = [] Ayarlar.
cipher MCRYPT_XXX sabitlerinden herhangi birinin XXX kısmı string olarak verilir.
key Verilerin şifreleneceği anahtar.
mode MCRYPT_MODE_XXX sabitlerinden herhangi birinin XXX kısmı string olarak verilir.
vector CBC, CFB, OFB modlarında başlatma ve STREAM modundaki bazı algoritmalarda kullanılır
Return String
Kullanımı
$encrypt = Crypto::encrypt('Example Data',
[
    'key'  => 'xxcv2151',
    'mode' => 'cbc'
]);

echo Crypto::decrypt($encrypt,
[
    'key'  => 'xxcv2151',
    'mode' => 'cbc'
]);
Example Data

 

 

# Keygen (ZN >= 3.0.0)


Belirli uzunlukta şifre oluşturmak için kullanılır.

Parametreler
Int $length = 8 Şifre uzunluğu.
Return String
Kullanımı
echo Crypto::keygen(7);
���� �c 

 

 

# Driver (ZN >= 3.0.0)


Şifreleme sürücüsünü değiştirmek için kullanılır.

Parametreler
String $driver Sürücü adı.
mcrypt, openssl, hash, phash, mhash
Return String
Kullanımı
\Output::writeLine( Crypto::keygen() );
\Output::writeLine( Crypto::driver('openssl')->keygen() );
\Output::writeLine( Crypto::driver('phash')->keygen() );
]�M�2��
�7��n
DgNgz0KO