Yükleniyor

Php AES Şifreleme

Php ile özel şifreleme yapılabilir. Bunlardan yaygın olarak tercih edileni AES-256-CBC şifreleme yöntemidir. Sebebi tabi ki de güvenlik ve kullanışlılığıdır.

Php'nin bu yöntemi ile şifrelenen değişkenler, değerler sizin belirlediğiniz anahtar(key) ile çözülebilir.

<?php
$sifrele = 'Şifrelenecek Metin ya da Şifre';

$encrypt = 'AES-256-CBC'; //şifreleme yöntemi
$secret_key = '11*_33'; //şifreleme anahtarı (şifreleme keyi)
$key = hash('sha256', $secret_key); //anahtar hash fonksiyonu ile sha256 algoritması ile şifreleniyor

$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc')); //Bir başlatma vektörü oluşturuldu
/*
$iv değişkenine random başka birşeylerde atayabilirsiniz. => 16 haneli olmalı, rakamla başlamalı ve rakamlardan - harflerden oluşmalı
## ama unutmayın şifrelenen metni çözerkende bunu kullanmak zorundayız
## $sifrele değişkenini hangi $iv değişkeninin değeri ile şifrelediyseniz o değeri kullanarak şifresiz halini açabilirsiniz.
## yani çözerkende aynı $iv değişkenini kullanmalısınız yoksa hata verir ya da çözemez

sabitlemek için kullanılabilir;
$secret_iv = '_**--.,2021'; //gerekli şifrelemeye başlama vektörü (istediğinizi yazın)
$iv = substr(hash('sha256', $secret_iv), 0, 16); //ekstra olarak şifreleniyor
*/

//Veriler, şifreleme anahtarımızı ve başlatma vektörümüzü kullanarak CBC modunda AES 256 şifrelemesi kullanarak şifrelendi.
$sifreliMetin = openssl_encrypt($sifrele, $encrypt, $key, false, $iv);
echo "Şifreli Hali => " . $sifreliMetin;
echo '<br>';
//openssl_decrypt() fonksiyonu kullanarak aynı yöntem ile şifre çözüldü.
$sifre_cozuldu = openssl_decrypt($sifreliMetin, $encrypt, $key, false, $iv);
echo "Şifrelinin Çözülmüş Hali => " . $sifre_cozuldu;
?>