Fonksiyonlar birbirinin tersi işlem yapması gerekir.
bence basit bir şekilde belli bir karakter ileri ya da geri olacak şekilde fonksyon yazılabilir.
yani
A->B
B->C
C->D
ya da ikişer üçer karakter atlamasıyla yapılabilir. karakter kodlarını kullanarak tüm klavye tuşları fonksiyondan geçirilebilir.
Hata Nedir ?
14
●1.063
- 26-04-2009, 22:33:07
- 26-04-2009, 22:33:17peki
<?php function asilid($sifrele) { $bunu = array ("1", "2", "3", "4", "5", "6", "7", "8", "9"); $buna = array ("8", "7", "9", "5", "4", "1", "2", "3", "6"); $sifrele = str_replace($bunu,$buna,$sifrele); return $sifrele; } burada $pi= "1-2-3-4-5-6-7-8-9" // idsinin str_replace kurallarına göre sonucun echo asilid($pi); //8-7-9-5-4-1-2-3-6 olması gerek miyor mu // bize verdiği rakam şu 1-2-3-4-4-3-2-1-0 ?>öldüm arkadaş ya ne kadar zormuş str_replace
- 26-04-2009, 22:40:22Misafir adlı üyeden alıntı: mesajı görüntüle
bize verdigi rakam 1-2-3-4-4-3-2-1-0 degil 3-2-6-4-4-1-2-3-6 bu dur bunun sebebi
şekil ile aciklarsak;
- 26-04-2009, 23:10:59
function sifrecoz ($metin) { $a = strlen($metin); for ($i=0;$i<$a;$i++) {$s[$i]= substr($metin,$i,1);} foreach($s as $si) { $ss[] = ord($si)-2; } foreach($ss as $sifreli) {$sHarf.=chr($sifreli);} return $sHarf; } function sifrele ($metin) { $a = strlen($metin); for ($i=0;$i<$a;$i++) {$s[$i]= substr($metin,$i,1);} foreach($s as $si) {$ss[] = ord($si)+2; } foreach($ss as $sifreli) {$sHarf.=chr($sifreli);} return $sHarf; } //kullanimi $m = sifrele("uysal_rockci"); echo "Sifreli Hali : ".$m."<br>"; echo "Cozulmus hali : ".sifrecoz($m);Alternatif olsun bu da , önceki mesajımda bahsetmeye çalıştığım zamazingo.
işine yarar belki, ya da yarayan biri rastgelir kullanır
- 26-04-2009, 23:16:22Şifreleme yaparken 1'nci madden GÜVENLİK olacak. O nedenle sessiz harfleri sessizlere, sesli harfleri de seslilere çevirmek gibi bir kural baştan güvenlik açığı yaratır. Dil bilgisini iyi bilen birisi "MANTIKLI CÜMLELERİ" kolaylıkla çevirir. O yüzden olabilen en ileri karmaşayı seçerseniz daha iyi olur. Rakamlar, harfler, karakterler karma karışık değiştirilsin. Geri alırken de aynı şekilde olsun.Misafir adlı üyeden alıntı: mesajı görüntüle
Bir kitapta okumuştum, savaş zamanında verileri önce A TİPİ şifrelemesine göre, sonra B TİPİ şifrelemesine göre, daha sonra da C TİPİ şifrelemesine göre şifrelerlermiş. Çözen kişi ise sırasıyla C, B, A tiplerini takip ederek çözermiş.
A Tipi şifre öncelikle a harfini - karakterine çeviriyor, B Tipi şifreleme ise - karakterini 8 rakamına çeviriyor, C Tipi şifreleme ise 8 rakamını 2; karakterlerine çeviriyor mesela. Böylece çok daha güvenli oluyormuş.
PHP fonksiyonları ile bu tür şifrelemeleri 3 aşamalı yaptırmak zor olmasa gerek.
Belki bu mantığı kullanan PHP şifreleme programları vardır da.