Kripto Kütüphanesi


    × Bunları biliyor muydunuz?
"Veritabanından sorgu isteğini tamamlamak için kullanılan get() yöntemi yerine doğrudan tabloismi() biçiminde tanımlama yapabilirsiniz. Örnek: DB::users();"


Ş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;
Q2tYRDB1UTJRM0dEcGhFWHYrZVZlUT09
[string $settings]

2. parametre string olarak da kullanılabilir.

$encrypt = Crypto::encrypt('Example Data', 'aes-256-cbc');

echo $encrypt;
T25yTWZoNTkyUWd0NzhSWC8rRXdvZz09

 

 

# 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'
]);
Example Data
[string $settings]

2. parametre string olarak da kullanılabilir.

$encrypt = Crypto::decrypt('T25yTWZoNTkyUWd0NzhSWC8rRXdvZz09', 'aes-256-cbc');

echo $encrypt;
Example Data


 

# 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);
���� �c 

 

 

# Driver


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

Kaldırılan Sürücüler [6.0.2.4][2021-01-23]

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());
DgNgz0KO