|
| Makaleler |
| Toplam Makale |
3330 |
| Yayında |
3150 |
| Bekleyenler |
180 |
| Görüntüleme |
13322575 |
|
|
|
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.
Eklenme tarihi: 3-2-2006 Okunma: 2163
|
| Bu Makaleye Verilen Puan: |
Bu makaleye puan verilmemiş.
|
Kullanıcı Yorumları
Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
İlgili Dökümanlar
|
|
|