Phpde kod yazarken bazen url kısmında gönderdiğimiz parametreleri şifreleme gereğini duymaktayız. Yazmış olduğum class sayesinde basit bir algoritma yaparak parametreleri şifreleyerek gönderebilirsiniz.
Classın çalışma mantığı basit. Şifreleme yapabilmemiz için bir tane anahtar kelime giriyoruz. Bu şekilde o kelime yardımı ile karakterleri şifreleyebiliyoruz.
Url yi şifrelemek istediğinizde encryptUrl() fonksiyonunu çağırıyoruz. Bize şifrelenmiş bilgiyi döndürmekte.
Şifrelenmiş bilgiyi ise decryptUrl() fonksiyonunu çağırarak bizim için okunabilir hale getirmekte.
Kaynak: enes pekkaya
Classın çalışma mantığı basit. Şifreleme yapabilmemiz için bir tane anahtar kelime giriyoruz. Bu şekilde o kelime yardımı ile karakterleri şifreleyebiliyoruz.
Url yi şifrelemek istediğinizde encryptUrl() fonksiyonunu çağırıyoruz. Bize şifrelenmiş bilgiyi döndürmekte.
Şifrelenmiş bilgiyi ise decryptUrl() fonksiyonunu çağırarak bizim için okunabilir hale getirmekte.
PHP:
/**
* Encrypt and Decrypt Process
*
* @author S. Enes Pekkaya
*
*/
final class SecureUrl
{
private $key = "deneme";
/**
* Crypt Value
*
* @param string $value
*/
public function encryptUrl($value)
{
$result = '';
for($i = 0; $i < strlen($value); $i++)
{
$char = substr($value, $i, 1);
$keychar = substr($this->key, ($i % strlen($this->key)) - 1, 1);
$char = chr(ord($char) + ord($keychar));
$result .= $char;
}
return urlencode(base64_encode($result));
}
/**
* Decrypt Value
*
* @param string $value
*/
public function decryptUrl($value)
{
$result = '';
$value = base64_decode(urldecode($value));
for($i = 0; $i < strlen($value); $i++)
{
$char = substr($value, $i, 1);
$keychar = substr($this->key, ($i % strlen($this->key)) - 1, 1);
$char = chr(ord($char) - ord($keychar));
$result .= $char;
}
return $result;
}
}
Kaynak: enes pekkaya