Anasayfa > Programlama > PHP > Sifreleme Algoritmalari ve Veri Guvenligi

Sifreleme Algoritmalari ve Veri Guvenligi




Problem:Verilerimizi bir anahtarla sifrelemek istiyoruz.Ama nasil?
Cozum:Kendi sifre/desifre algoritmanizi yazin.

Sifrelemek icin:

<?php function veriyi_sifrele ($veri,$anahtar) {

for ($i=0,$j=0;$i<strlen ($veri); $i++,$j++){ $orta = ord(substr($veri,$i,1)) +
ord(substr($anahtar,$j,1)); if ($j > strlen($anahtar)) {$j=0;} $sifrelenmis_veri
.= chr ($orta); } return ($sifrelenmis_veri);

}
$sonuc= veriyi_sifrele ($veri,$anahtar); echo $sonuc;

?>

Desifrelemek icin:

<?php function veriyi_desifrele ($veri,$anahtar) {

for ($i=0,$j=0;$i<strlen ($veri); $i++,$j++){ $orta = ord(substr($veri,$i,1)) -
ord(substr($anahtar,$j,1)); if ($j > strlen($anahtar)) {$j=0;}
$desifrelenmis_veri .= chr ($orta); } return ($desifrelenmis_veri); }

$sonuc= veriyi_desifrele ($veri,$anahtar); echo $sonuc;

?>
Yukaridaki algoritmalar neredeyse guvenilemeyecek kadar basit yapili sifreleme
yapilaridir.Daha iyi bir cozum ariyorsaniz PHP ile beraber gelen TripleDES
sifreleme yapilarini kullanabilirsiniz.Kisa bir ornek vermek istersek,

<?php $anahtar = "Serkan Hadi Ceylani"; $veri = "Kendi zamaninda yapilan
politika sonsuzlugu yakalar";

$sifrelenmis_veri =
mcrypt_ecb(MCRYPT_TripleDES,$anahtar,$veri,MCRYPT_ENCRYPT);
$desifrelenmis_veri =
mcrypt_ecb(MCRYPT_TripleDES,$anahtar,$veri,MCRYPT_DECRYPT); ?>

MD5 Sifreleme Algoritmasi

Web sayfalarinda kullanilan "oturum yonetimi" gibi uygulamalar icin yaratilabilcek
en guzel Kullanici ID asagidaki gibidir :

(getmypid () fonksiyonu kullanilarak farkli server proseslerinin veya intranet
uzerinde ayni agda yer alan serverlar icin farkli kisiler icin ayni ID uretilmesi
problemi ortadan kalkmaktadir :)

Kullanilan butun fonksiyonlar PHP ile beraber gelmektedir.
<?php $id = md5(uniqid(microtime(), 1)) . getmypid (); ?>

Ornek Uygulama

Simdi de kendi yazdigimiz ornek ile ilgili bir alistirma yapalim ve sifreledigimiz
verilerin neler olduguna nasil sifrelendigine bakalim.

Once veriyi alacagimiz HTML formunu hazirlayalim.

1.Asagidaki kodlari text editorunuz yazrdimiyla yaziniz.

<HTML> <HEAD> <TITLE>Sifreleme ve Desifreleme Algoritmalari</TITLE>
</HEAD> <BODY> <FORM ACTION="sifrele.php" METHOD=GET> Lutfen
sifrelemek istediginiz veriyi asagidaki kutuya giriniz.

<BR> <INPUT TYPE=TEXT NAME="veri"> Lutfen bu veri icin bir sifreleme anahtari
giriniz.

<BR> <INPUT TYPE=TEXT NAME="anahtar"> <INPUT TYPE=SUBMIT VALUE=
Sifrele> </FORM> </BODY> </HTML>

2. Bu dosyayi "sifrele.html" olarak kayit edin.

Simdi de sifrelenmesi icin bu verinin gelecegi "sifre.php" dosyasini yazalim.Tabii ki
yukaridaki algoritmayi programa donusturmekten baska bir olay degil yaptigimiz.

3.Asagidaki PHP kodlarini text editorunuz yardimiyla yaziniz.

<?php //sifrele.php

function veriyi_sifrele ($veri,$anahtar) {

for ($i=0,$j=0;$i<strlen ($veri); $i++,$j++){ $orta = ord(substr($veri,$i,1)) +
ord(substr($anahtar,$j,1)); if ($j > strlen($anahtar)) {$j=0;} $sifrelenmis_veri
.= chr ($orta); } return ($sifrelenmis_veri); }

$sonuc= veriyi_sifrele ($veri,$anahtar); echo $sonuc;

?>

4.Bu dosyayi "sifrele.php" olarak kayit ediniz.

5. sifrele.html dosyasini acip kendi yazdiginiz algoritma ile verilerinizi sifreleyin.

Ornek Dosyalar

http://www.turk-php.com/ornekler/sifrele.html

http://www.turk-php.com/ornekler/sifrele.php

http://www.turk-php.com/ornekler/sifrele.phps

Sayin Tayfun ULU tarafindan program biraz gelistirilmis ve uygulama sekline
sokulmus...

Tessekkurler...

http://www.turk-php.com/ornekler/sifrever2.php

http://www.turk-php.com/ornekler/kodgoster.php?Yol=/sifrever2.php

Her turlu gorus dusunce ve gelistirme onerisi icin serkan@turk-php.com
adresinden benimle temasa geciniz.
Serkan Hadi Ceylani serkan@turk-php.com

Program: http://www.turk-php.com/ornekler/sifrele.html

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız

Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 3-2-2006  Okunma: 2163

Bu Makaleye Verilen Puan:    Bu makaleye puan verilmemiş.
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
Reklam Netinternet
Bazı hakları saklıdır: İçeriğin editör ve yazarlarımız tarafından oluşturulan kısımları ve site tasarımının hakkı saklıdır.  Bu sayfa en iyi 1280x1024 ve 1024x768 çözünürlükte izlenir.
Powered by BilgiPortal v2.2
Emlak Yorumlar Müzik estetik