http://localhost/veriguncelle&id=46d...c6db7b1b4a5015
bir linke tıklandığında href'i yukarıdaki gibi olacak. Orada id, direk id değeri değil de yukarıdaki gibi şifrelenmiş olarak gönderilecek.
veriguncelle sayfasında da get ile id değerini alacağım ve bu sayfada gerçek id değerine dönüştürüp kullanacağım.
md5, sha1 gibi şifreleme yöntemlerini kullandım fakat onların encode,decode özelliği yokmuş. Bu sorunumu nasıl çözebilirim?
<?php
class SifCoz {
var $Bytes = array(54,32,87,65,98,45,16,94,6,9,8,47,81,62,57,69,37,84,24,18,67,43,12,45,06,13,9,12,36,28,31,42,44,55,11,22,33,66,77);
var $Key = "sa4'&''!^(%+sd54)&'43";
function Sifrele($veri) {
$veri = base64_encode($this->Key."©".$veri);
$bSay = count($this->Bytes)-1;
$rNum = rand(0,$bSay);
$byte = $this->Bytes[$rNum];
for($i=0;$i<=strlen($veri)-1;$i++) {
@$reveri.= hex2bin(dechex(hexdec(bin2hex($veri[$i]))+$byte));
}
return base64_encode($reveri."$.$".$rNum);
}
function Coz($veri) {
$veri = base64_decode($veri);
$DecS = explode('$.$',$veri);
$veri = $DecS[0];
$byte = $this->Bytes[$DecS[1]];
for($i=0;$i<=strlen($veri)-1;$i++) {
@$reveri.= hex2bin(dechex(hexdec(bin2hex($veri[$i]))-$byte));
}
$reveri = base64_decode($reveri);
$reveri = explode("©",$reveri);
return $reveri[1];
}
}
$sifcoz = new SifCoz;
$yazi = "R10.net türkiye'nin webmaster forumu.";
$sifrelenmis = $sifcoz->Sifrele($yazi);
$cozulmus = $sifcoz->Coz($sifrelenmis);
echo $sifrelenmis."<br>".$cozulmus;
?>Edit:böylesi daha iyi gibi
Kendimce şöyle birşey yapmıştım. İşinize yarar belki

$key değişkenindeki değerleri 10 20 haneli rastgele harf sayı ile değiştirin hocam. Key ne kadar uzun olursa şifrelenmiş veride o kadar uzun ve güçlü olur
Çıktı:
azpNOFKBYXZSgU5tU0tdems6WTlWS3N1UoJZgn95dFtVXEl9an VeOFFQXEx+UFJ6aWB0dFI6PXhqcUo7Yl9SfGFgVjhiYFFvYnVB gWxfOTlUb0VFJC4kMTA=
R10.net türkiye'nin webmaster forumu.