Kripto Kütüphanesi
"Theme::active() yöntemi ile görünümlerin içerisinde yer alan img, script, link gibi etiketlerin dosya yol bilgilerine dokunmadan otomatik olarak algılanmasını sağlayabilirsiniz."
Ş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());