String Tipleri Hex Tipine Dönüştürme

Cryptograph 25.08.201200:21 PHP & MySQL 8221    
Facebookta Paylaş

String tipli değerleri hex tipine dönüştürmek için ilk önce ord() fonksiyonunu kullanıyoruz, bu fonksiyon içinde yazılan değerler ASCII değere dönüştürülür, daha sonra buradan gelen çıktıyı dechex() fonksiyonundan geçiyoruz, dechex() içinde yazılan değerler decimalden hexadecimale dönüştürülür.

Biz burada kelimeler halinde girilen değerlerin hex olarak çıktısını alacağımız şekilde bir uygulama yapacağız, uygulamanın çalışan örneği strtohex.cryptograph.gen.tr.

İlk önce fonksiyon tanımlıyoruz

function strtohex($str){
  $hex = '';
  for ($i=0; $i < strlen($str); $i++){
    $hex .= '&#x00'.dechex(ord($str[$i])).';';
  }
  return $hex;
}

Bu fonksiyon dışarıdan girilen değeri alıp karakter sayısını hesaplıyor ve karakter sayısına göre döngüye sokup ve döngüden önce tanımlanmış olan $hex isimli boş değişkene girilen değerin önüne &#x00 ekleyerek hex kodunu yazıyor ve sonuna ; ekliyor, örnek olarak a harfinin çıktısını bu şekilde veriyor a
Bu karakteri html sayfa içinde yazdığımızda sayfada a harfi görünür.

Bu sistemi yorum alanlarında ya da daha farklı yerlerde zararlı kod çalıştırılmasını engellemek için kullanabilirsiniz.

Sayfamızın içinde bulunan kodlar

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String To Hex Converter</title>
<style type="text/css">
#hexform {
  width: 1000px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 10px;
  word-wrap:break-word;
}
input {
  width: 1000px;
}
</style>
</head>
<body>
<?php
function strtohex($str){
  $hex = '';
  for ($i=0; $i < strlen($str); $i++){
    $hex .= '&amp;#x00'.dechex(ord($str[$i])).';';
  }
  return $hex;
}
function strtohex2($str){
  $hex = '';
  for ($i=0; $i < strlen($str); $i++){
    $hex .= dechex(ord($str[$i]));
  }
  return $hex;
}
?>
<div align="center">
  <form action="" method="post">
    <input type="text" name="hex" placeholder="Hex Formatını Öğrenmek İstediğiniz Cümleyi Yazınız." value="<?php echo htmlspecialchars($_POST['hex']); ?>" />
  </form>
</div>
<?php
if(empty($_POST['hex'])){
  echo '';
  }
else{    
  echo'<div id="hexform">
  <p><strong>HTML Yazdırma Formatı:</strong>     <br />'.strtohex($_POST['hex']).'  </p>  
  <p><strong>Normal Hex Formatı:</strong> <br />'.strtohex2($_POST['hex']).'</p>
</div>';
  }
?>
</body>
</html>

Sistemin çalışan örneği için strtohex.cryptograph.gen.tr

Okuyucu Yorumları (1 Yorum)

byfirari

Ellerine Sağlık

byfirari | 02:39 - 26.08.2012

Söz Sırası Sizde

​​​​​​​​​​​​​​​​​​​​​​​​​

MERAK EDİLENLER

İLETİŞİM

  • alpay[at]cryptograph.gen.tr
  • İstanbul ikametgah