Kripto Kütüphanesi
"External/ dizini tüm projeleriniz için ortak dosya kullanımı sunar."
Ş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());