Yükleniyor...
Konularınızı tabi ki paylaşırız

Arkadaşlar tabi ki konularınızı; başlık, açıklama ve düzenli bir kod dökümanı halinde ilettiğiniz takdirde paylaşırız. Bunun için info@phpmutfagi.com mail adresine yazmanız yeterlidir. Sadece tek şartımız herkesin anlayacağı bir dilde anlatmanızdır.

Konularınızı iletirken lütfen imzanızı da gönderin. (İsim soyisim, varsa linkedin veya başka bir sosyal medya hesabınız)



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;
?>

Görüşlerinizi Bize Bildirin :)