Kripto Kütüphanesi
"Konsoldan 'php zerocore create-grand-vision' gibi basit bir komutla tüm veritabanı ve tablolarının model dosyasını oluşturabilirsiniz."
Ş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 dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-cryptography
# 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. | 
# Yöntemler
Aşağıda sürücülere göre ortak yöntemler yer almaktadır.
| encrypt( string$data,mixed$settings = []) : string | 
| decrypt( string$data,mixed$settings = []) : string | 
| keygen( int$length = 8): string | 
| driver( string$driver) : this | 
# Encrypt
Düz metinleri verilen parametrelerle şifreler.
Parametreler
| string $data | Veri. | |
| mixed $settings | Ayarlar. Bu parametre 6.0.36 sürümü itibari ile string türde de kullanılabilmektedir. | |
| $cipher = 'aes-128' | Şifreleme türü. Cipher olarak openssl_get_cipher_methods() dizisinde yer alan değerler kullanılabilir. | |
| $mode = 'cbc' | Şifreleme modu. | |
| $key = ZN\Project::key() | Şifre anahtarı. Ön tanımlı olarak Config/Projetcs.php dosyasında yer alan key değeri kabul edilmektedir. | |
Kullanımı
$encrypt = Crypto::encrypt('Example Data',
[
    'cipher' => 'aes-256',
    'mode'   => 'cbc',
    'key'    => 'Your Project Key'
]);
echo $encrypt;
2. parametre string olarak da kullanılabilir.
$encrypt = Crypto::encrypt('Example Data', 'aes-256-cbc');
echo $encrypt;
# Decrypt
Şifrelenen veriyi çözmek için kullanılır.
Parametreler
| string $data | Veri. | |
| mixed $settings | Ayarlar. Bu parametre 6.0.36 sürümü itibari ile string türde de kullanılabilmektedir. | |
| $cipher = 'aes-128' | Şifreleme türü. Cipher olarak openssl_get_cipher_methods() dizisinde yer alan değerler kullanılabilir. | |
| $mode = 'cbc' | Şifreleme modu. | |
| $key = ZN\Project::key() | Şifre anahtarı. | |
Kullanımı
echo Crypto::decrypt('Q2tYRDB1UTJRM0dEcGhFWHYrZVZlUT09',
[
   'cipher' => 'aes-256',
   'mode'   => 'cbc', 
   'key'    => 'Your Project Key'
]);2. parametre string olarak da kullanılabilir.
$encrypt = Crypto::decrypt('T25yTWZoNTkyUWd0NzhSWC8rRXdvZz09', 'aes-256-cbc');
echo $encrypt;
 
# Encrypt
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);
# Driver
Şifreleme sürücüsünü değiştirmek için kullanılır.
mhash, phash ve hash sürücüleri kaldırıldı.
Parametreler
| string $driver | Sürücü adı. | |
| Seçenekler | openssl | |
| return string | ||
Kullanımı
output(Crypto::driver('openssl')->keygen());
 
						