PHP İLE KRİPTOGRAFİ, ŞİFRELEME ALGORİTMASI |KENDİ ŞİFRELEME TEKNİĞİNİZİ YAPIN|

'CaptainKanka

O Şimdi Asker!
14 Eki 2012
1,683
1,257
localhost/admin.php
Merhaba Arkadaşlar

Bu gün sizlere hiç örneği olmadığı için kriptoloji uygulaması yazıp detaylı bir şekilde nasıl yapıldığını anlatarak paylaşmak istedim.


İndirme linki
Virüs Total

İlk mantığını anlatarak başlamak istiyorum.
Şifreleme mantığımız yazılan değerleri her harfin önce arandığı dizinin sayısı ve o dizideki o harfin karşılığı olan bir karakter, bir sembol veya bir rakamdır.
(benim ayarladığımda alfabe+rakamlar+.+, ve boşluk gibi şeyler çevrilebilir. - + ? gibi semboller çevrilemez.) yani girilen her karakterin çıktısı dizi numarası ve dizideki tek karakterli olan karşılığıdır.
Anlamanız için Örnek vereyim. dizi 1 de a harfinin karşılığı 5 ise şifrelenmiş hali yani çıktısı 15 olacaktır.
Dizi 2 de a harfinin karşılığı c ise a harfi girildiğinde çıktısı 2c olacaktır.
Buradaki şifrelerken dizi seçimini rastgele olarak programa yaptırıyoruz. Böylelikle her kelimenin veya harfin karşılığı farklı sonuçlar çıkıyor. Yani dizi sayısını artırırsanız kriptografi tekniğimiz dahada zorlaşıyor.
her harfin karşılığı olarak bir adet harf, tek basamaklı sayı veya bir sembol ekleyerek dizi1 adında dizi oluşturuyoruz.
Örneğin a=1 b=, c=v gibi.
Birde bu dizede ne yazdıysak değişkenlerin yerlerini değiştirerek dizi1c olarak bir dizi oluşturuyoruz.
Ben bir örnek yaptım sadece küçük harflerle alfabenin tamamı, boşluk, nokta ve virgül (. ve ,) simgelerinide diziye ekledim ve tam tersi bir dizi yaptım.
Ve birtane daha dizi oluşturur adını dizi2 yaptım ve yerlerinin değişik versiyonlarını dizi2c yaptım. Program dosyalarındaki sifredizeleri.php dosyasında bunları görebilirsiniz.
Siz daha fazla dizi ekleyebiliirsiniz. tabiki önceki dizide a değerine 5 verdiyseniz yeni dizede t falan verin.
Bir diğer husus türkçe karakter problemi olduğu için (utf veya kod başına mb eklememe rağmen düzelmedi) ç,ğ,ı,ö,ş,ü harflerine dikkat edip dizi yerine yazmayınız.
Onlarıda kodları incelerseniz başka harf veya sembollerle değiştirip öyle aldık. Ve onun yerine ne yazdıysam onu diziye ekledim. Sonrasında sifrecoz.php de çıkış yazdırmadan önce aynı şekilde tam tersini uyguladım ki girilen ç ise çıkanda ç olsun diye...


PHP:
$sifrele = $_POST["sifrele"];
    $sifrele = mb_strtolower($sifrele); //küçük harf yaptık
    //tr sorunu başlangıç
 
    $eski = "ç";
    $yeni = "/";
    $sifrele = str_replace($eski, $yeni, $sifrele);//ç harfi yerine / yazdırdık...

Girilen kelimenin veya cümlenin aşağıdaki gibi karakter sayısını öğreniyoruz.
Buradaki önemli kısım bu fonksiyonumuzun boşluklarıda sayıyor olması. Buda cümleyi şifreliyebilmemizi sağlıyor.


Kod:
$karsay = strlen($sifrele);      //yazılan metindeki karakter sayısını alıyoruz.
 
    $kar = $karsay;

Sonrasında girilen tüm karakterleri ayrı değişkene atıyoruz.

Kod:
$harfdizisi = mb_str_split($sifrele);        //tüm hafrelerini değişkenlere atadık..

artık $harfdizisi[0] ile yazılan ilk karakteri, $harfdizisi[1] ile yazılan 2. karakteri alabiliyoruz. Şimdi geldik döngümüze. Döngümüzde ise $harfdizisi[$i] ile tüm harfleri çağıracağız.

PHP:
$i=0; //i ye sıfır verdik çünkü harf dizesi 1den değil 0 dan başlıyor !!!
        while ($i<$kar) //kelimemiz kaç karakterliyse ona gelince dursun dedik
{
     
$rast=rand(1,2); //1 ile 2 arasında rastgele sayı ürettirip değişkene atadık. Eğer sizde 2'den fazla harf listesi varsa 2 yerine onu artırarak yazın.

     
        if($rast==1){ //burada ise üretilen rastgele sayı ile rastgele dizemizi seçtik
             
             
                $arama = $harfdizisi[$i]; //burada harfleri aktardığımız değişkeni çağırdık burası while döngüsünden dolayı 1 artıp yazırıp tekrar 1 artacak ve $arama değişkenine aktaracak.
             
             
                $kelimedeger = array_search($arama,$dizi1);//burada ise dizi1 dizisinden yazılan kelimenin karşılığı bulundu ve $kelimedeger değişkenine aktarıldı.
             
                echo $rast; //dizi numarası yazdırıldı
                echo $kelimedeger; //harfimizin karşılığı olarak diziye eklediğimiz karakter yazdırıldı.
             
                $i++; //i artırılıp while döngüsü yenilenmek için yukarıya gitti.
             
                 


                    }
Yukarıda // ile her satırda ne anlama geldiğini anlattım şimdi ise ikinci dizemizi programa tanıtacağım.
Sizde bu aşağıdaki kodu her dizi ekleyeceğinizde kopyalayıp düzenleyip while döngüsünün süslü parantezi içine yazınız.




PHP:
if([COLOR=rgb(250, 197, 28)]$rast==2[/COLOR]){
             
             
                $arama = $harfdizisi[$i];
             
             
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2[/COLOR]);
             
                echo $rast;
                echo $kelimedeger;
             
                $i++;
             
                 


                    }

Tekrar söylüyorum While süslü parantezlerinin içine kopyalıyorsunuzz!!


artık sifrecoz.php ye geçelim.

burada da while döngüsüne kadar herşey aynı ondan dolayı direk while döngüsüyle başlıyorum.


PHP:
$i=0; //i değişkeni 0 ile başlayacak önemli !!
        while ($i<$kar) //girilen karakter sayısı kadar olma şartımızı belirledik.
{
     


     
        if($harfdizisi[$i]==1){//burada girilen ilk değer 0 da tutulduğu için direk 0 yerine $i yazdırarak ilk yazılan sayıyı yani dize sayımızı çekiyoruz. eğer dizi sayımız 1 ise bu bloğu yapacak.
             
                $ara = $i + 1; //burada ise 0 olan $i yi 1 artırıp 2. karakteri seçtiriyoruz ki buda bize şifrelenmiş kelimenin dizede hangi karakterde olduğunu gösteriyor. ki tek sayılarda karakter, çift sayılarda onun dizi numarası tutuluyor.
                $arama = $harfdizisi[$ara];//burada ise şifrelenmiş veriyi çekip $arama ya ekledik.
             
             
                $kelimedeger = array_search($arama,$dizi1c); //burada dizi1c yani dizi1 in dizi değerinin tam terslerinde arama yaptırdık ve sonucu kelimedeger e eklettik.
             
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);// burada ise en yukarıda şifrelerken ç yerine yazdırdığımız / karakterini, bu sefer tam tersi şekilde yaptırıyoruz.
 
    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
             
             
                echo $kelimedeger; //ve çözülmüş verimize türkçe karakterleri yukarıdaki gibi ekleyip yazdırıyoruz.
             
                $i=$i+2; //burası çok önemli her bir kelimenin 2 harfli çıktısı olduğu için çözerken while döngümüzün değişkenini 2 artırıyoruz. bu sayede yukarıda ki dizi değeri vs nin doğru çalışmasını sağlıyoruz.
             
                 


                    }//buraya kadar kopyalayın..

dizi sayımız iki olursa yine aynı şekilde yukarıdaki if bloğunun içindeki değişkenleri düzenleyip while döngüsünün içine yazıyoruz. Siz dizi eklemek isterseniz bu mantıkla artırabilirsiniz.

PHP:
if([COLOR=rgb(250, 197, 28)]$harfdizisi[$i]==2[/COLOR]){
             
                $ara = $i + 1;
                $arama = $harfdizisi[$ara];
             
             
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2c[/COLOR]);
             
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
             
             
                echo $kelimedeger;
             
                $i=$i+2;

Bu günlük anlatacaklarım bu kadar.

İyi Forumlar.
 
Son düzenleme:

TOZQOPARAN

Uzman üye
3 Nis 2021
1,258
678
Eski Anka Underground Tim
Merhaba Arkadaşlar

Bu gün sizlere hiç örneği olmadığı için kriptoloji uygulaması yazıp detaylı bir şekilde nasıl yapıldığını anlatarak paylaşmak istedim.


İndirme linki
Virüs Total

İlk mantığını anlatarak başlamak istiyorum.
Şifreleme mantığımız yazılan değerleri her harfin önce arandığı dizinin sayısı ve o dizideki o harfin karşılığı olan bir karakter, bir sembol veya bir rakamdır.
(benim ayarladığımda alfabe+rakamlar+.+, ve boşluk gibi şeyler çevrilebilir. - + ? gibi semboller çevrilemez.) yani girilen her karakterin çıktısı dizi numarası ve dizideki tek karakterli olan karşılığıdır.
Anlamanız için Örnek vereyim. dizi 1 de a harfinin karşılığı 5 ise şifrelenmiş hali yani çıktısı 15 olacaktır.
Dizi 2 de a harfinin karşılığı c ise a harfi girildiğinde çıktısı 2c olacaktır.
Buradaki şifrelerken dizi seçimini rastgele olarak programa yaptırıyoruz. Böylelikle her kelimenin veya harfin karşılığı farklı sonuçlar çıkıyor. Yani dizi sayısını artırırsanız kriptografi tekniğimiz dahada zorlaşıyor.
her harfin karşılığı olarak bir adet harf, tek basamaklı sayı veya bir sembol ekleyerek dizi1 adında dizi oluşturuyoruz.
Örneğin a=1 b=, c=v gibi.
Birde bu dizede ne yazdıysak değişkenlerin yerlerini değiştirerek dizi1c olarak bir dizi oluşturuyoruz.
Ben bir örnek yaptım sadece küçük harflerle alfabenin tamamı, boşluk, nokta ve virgül (. ve ,) simgelerinide diziye ekledim ve tam tersi bir dizi yaptım.
Ve birtane daha dizi oluşturur adını dizi2 yaptım ve yerlerinin değişik versiyonlarını dizi2c yaptım. Program dosyalarındaki sifredizeleri.php dosyasında bunları görebilirsiniz.
Siz daha fazla dizi ekleyebiliirsiniz. tabiki önceki dizide a değerine 5 verdiyseniz yeni dizede t falan verin.
Bir diğer husus türkçe karakter problemi olduğu için (utf veya kod başına mb eklememe rağmen düzelmedi) ç,ğ,ı,ö,ş,ü harflerine dikkat edip dizi yerine yazmayınız.
Onlarıda kodları incelerseniz başka harf veya sembollerle değiştirip öyle aldık. Ve onun yerine ne yazdıysam onu diziye ekledim. Sonrasında sifrecoz.php de çıkış yazdırmadan önce aynı şekilde tam tersini uyguladım ki girilen ç ise çıkanda ç olsun diye...


PHP:
$sifrele = $_POST["sifrele"];
    $sifrele = mb_strtolower($sifrele); //küçük harf yaptık
    //tr sorunu başlangıç

    $eski = "ç";
    $yeni = "/";
    $sifrele = str_replace($eski, $yeni, $sifrele);//ç harfi yerine / yazdırdık...

Girilen kelimenin veya cümlenin aşağıdaki gibi karakter sayısını öğreniyoruz.
Buradaki önemli kısım bu fonksiyonumuzun boşluklarıda sayıyor olması. Buda cümleyi şifreliyebilmemizi sağlıyor.


Kod:
$karsay = strlen($sifrele);      //yazılan metindeki karakter sayısını alıyoruz.

    $kar = $karsay;

Sonrasında girilen tüm karakterleri ayrı değişkene atıyoruz.

Kod:
$harfdizisi = mb_str_split($sifrele);        //tüm hafrelerini değişkenlere atadık..

artık $harfdizisi[0] ile yazılan ilk karakteri, $harfdizisi[1] ile yazılan 2. karakteri alabiliyoruz. Şimdi geldik döngümüze. Döngümüzde ise $harfdizisi[$i] ile tüm harfleri çağıracağız.

PHP:
$i=0; //i ye sıfır verdik çünkü harf dizesi 1den değil 0 dan başlıyor !!!
        while ($i<$kar) //kelimemiz kaç karakterliyse ona gelince dursun dedik
{
    
$rast=rand(1,2); //1 ile 2 arasında rastgele sayı ürettirip değişkene atadık. Eğer sizde 2'den fazla harf listesi varsa 2 yerine onu artırarak yazın.

    
        if($rast==1){ //burada ise üretilen rastgele sayı ile rastgele dizemizi seçtik
            
            
                $arama = $harfdizisi[$i]; //burada harfleri aktardığımız değişkeni çağırdık burası while döngüsünden dolayı 1 artıp yazırıp tekrar 1 artacak ve $arama değişkenine aktaracak.
            
            
                $kelimedeger = array_search($arama,$dizi1);//burada ise dizi1 dizisinden yazılan kelimenin karşılığı bulundu ve $kelimedeger değişkenine aktarıldı.
            
                echo $rast; //dizi numarası yazdırıldı
                echo $kelimedeger; //harfimizin karşılığı olarak diziye eklediğimiz karakter yazdırıldı.
            
                $i++; //i artırılıp while döngüsü yenilenmek için yukarıya gitti.
            
                


                    }
Yukarıda // ile her satırda ne anlama geldiğini anlattım şimdi ise ikinci dizemizi programa tanıtacağım.
Sizde bu aşağıdaki kodu her dizi ekleyeceğinizde kopyalayıp düzenleyip while döngüsünün süslü parantezi içine yazınız.




PHP:
if([COLOR=rgb(250, 197, 28)]$rast==2[/COLOR]){
            
            
                $arama = $harfdizisi[$i];
            
            
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2[/COLOR]);
            
                echo $rast;
                echo $kelimedeger;
            
                $i++;
            
                


                    }

Tekrar söylüyorum While süslü parantezlerinin içine kopyalıyorsunuzz!!


artık sifrecoz.php ye geçelim.

burada da while döngüsüne kadar herşey aynı ondan dolayı direk while döngüsüyle başlıyorum.


PHP:
$i=0; //i değişkeni 0 ile başlayacak önemli !!
        while ($i<$kar) //girilen karakter sayısı kadar olma şartımızı belirledik.
{
    


    
        if($harfdizisi[$i]==1){//burada girilen ilk değer 0 da tutulduğu için direk 0 yerine $i yazdırarak ilk yazılan sayıyı yani dize sayımızı çekiyoruz. eğer dizi sayımız 1 ise bu bloğu yapacak.
            
                $ara = $i + 1; //burada ise 0 olan $i yi 1 artırıp 2. karakteri seçtiriyoruz ki buda bize şifrelenmiş kelimenin dizede hangi karakterde olduğunu gösteriyor. ki tek sayılarda karakter, çift sayılarda onun dizi numarası tutuluyor.
                $arama = $harfdizisi[$ara];//burada ise şifrelenmiş veriyi çekip $arama ya ekledik.
            
            
                $kelimedeger = array_search($arama,$dizi1c); //burada dizi1c yani dizi1 in dizi değerinin tam terslerinde arama yaptırdık ve sonucu kelimedeger e eklettik.
            
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);// burada ise en yukarıda şifrelerken ç yerine yazdırdığımız / karakterini, bu sefer tam tersi şekilde yaptırıyoruz.

    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
            
            
                echo $kelimedeger; //ve çözülmüş verimize türkçe karakterleri yukarıdaki gibi ekleyip yazdırıyoruz.
            
                $i=$i+2; //burası çok önemli her bir kelimenin 2 harfli çıktısı olduğu için çözerken while döngümüzün değişkenini 2 artırıyoruz. bu sayede yukarıda ki dizi değeri vs nin doğru çalışmasını sağlıyoruz.
            
                


                    }//buraya kadar kopyalayın..

dizi sayımız iki olursa yine aynı şekilde yukarıdaki if bloğunun içindeki değişkenleri düzenleyip while döngüsünün içine yazıyoruz. Siz dizi eklemek isterseniz bu mantıkla artırabilirsiniz.

PHP:
if([COLOR=rgb(250, 197, 28)]$harfdizisi[$i]==2[/COLOR]){
            
                $ara = $i + 1;
                $arama = $harfdizisi[$ara];
            
            
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2c[/COLOR]);
            
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
            
            
                echo $kelimedeger;
            
                $i=$i+2;

Bu günlük anlatacaklarım bu kadar.

İyi Forumlar.
Eline emeğine sağlık dostum
 

DeathWarrior01

Uzman üye
14 Ocak 2021
1,732
1,076
Evren
Merhaba Arkadaşlar

Bu gün sizlere hiç örneği olmadığı için kriptoloji uygulaması yazıp detaylı bir şekilde nasıl yapıldığını anlatarak paylaşmak istedim.


İndirme linki
Virüs Total

İlk mantığını anlatarak başlamak istiyorum.
Şifreleme mantığımız yazılan değerleri her harfin önce arandığı dizinin sayısı ve o dizideki o harfin karşılığı olan bir karakter, bir sembol veya bir rakamdır.
(benim ayarladığımda alfabe+rakamlar+.+, ve boşluk gibi şeyler çevrilebilir. - + ? gibi semboller çevrilemez.) yani girilen her karakterin çıktısı dizi numarası ve dizideki tek karakterli olan karşılığıdır.
Anlamanız için Örnek vereyim. dizi 1 de a harfinin karşılığı 5 ise şifrelenmiş hali yani çıktısı 15 olacaktır.
Dizi 2 de a harfinin karşılığı c ise a harfi girildiğinde çıktısı 2c olacaktır.
Buradaki şifrelerken dizi seçimini rastgele olarak programa yaptırıyoruz. Böylelikle her kelimenin veya harfin karşılığı farklı sonuçlar çıkıyor. Yani dizi sayısını artırırsanız kriptografi tekniğimiz dahada zorlaşıyor.
her harfin karşılığı olarak bir adet harf, tek basamaklı sayı veya bir sembol ekleyerek dizi1 adında dizi oluşturuyoruz.
Örneğin a=1 b=, c=v gibi.
Birde bu dizede ne yazdıysak değişkenlerin yerlerini değiştirerek dizi1c olarak bir dizi oluşturuyoruz.
Ben bir örnek yaptım sadece küçük harflerle alfabenin tamamı, boşluk, nokta ve virgül (. ve ,) simgelerinide diziye ekledim ve tam tersi bir dizi yaptım.
Ve birtane daha dizi oluşturur adını dizi2 yaptım ve yerlerinin değişik versiyonlarını dizi2c yaptım. Program dosyalarındaki sifredizeleri.php dosyasında bunları görebilirsiniz.
Siz daha fazla dizi ekleyebiliirsiniz. tabiki önceki dizide a değerine 5 verdiyseniz yeni dizede t falan verin.
Bir diğer husus türkçe karakter problemi olduğu için (utf veya kod başına mb eklememe rağmen düzelmedi) ç,ğ,ı,ö,ş,ü harflerine dikkat edip dizi yerine yazmayınız.
Onlarıda kodları incelerseniz başka harf veya sembollerle değiştirip öyle aldık. Ve onun yerine ne yazdıysam onu diziye ekledim. Sonrasında sifrecoz.php de çıkış yazdırmadan önce aynı şekilde tam tersini uyguladım ki girilen ç ise çıkanda ç olsun diye...


PHP:
$sifrele = $_POST["sifrele"];
    $sifrele = mb_strtolower($sifrele); //küçük harf yaptık
    //tr sorunu başlangıç
 
    $eski = "ç";
    $yeni = "/";
    $sifrele = str_replace($eski, $yeni, $sifrele);//ç harfi yerine / yazdırdık...

Girilen kelimenin veya cümlenin aşağıdaki gibi karakter sayısını öğreniyoruz.
Buradaki önemli kısım bu fonksiyonumuzun boşluklarıda sayıyor olması. Buda cümleyi şifreliyebilmemizi sağlıyor.


Kod:
$karsay = strlen($sifrele);      //yazılan metindeki karakter sayısını alıyoruz.
 
    $kar = $karsay;

Sonrasında girilen tüm karakterleri ayrı değişkene atıyoruz.

Kod:
$harfdizisi = mb_str_split($sifrele);        //tüm hafrelerini değişkenlere atadık..

artık $harfdizisi[0] ile yazılan ilk karakteri, $harfdizisi[1] ile yazılan 2. karakteri alabiliyoruz. Şimdi geldik döngümüze. Döngümüzde ise $harfdizisi[$i] ile tüm harfleri çağıracağız.

PHP:
$i=0; //i ye sıfır verdik çünkü harf dizesi 1den değil 0 dan başlıyor !!!
        while ($i<$kar) //kelimemiz kaç karakterliyse ona gelince dursun dedik
{
     
$rast=rand(1,2); //1 ile 2 arasında rastgele sayı ürettirip değişkene atadık. Eğer sizde 2'den fazla harf listesi varsa 2 yerine onu artırarak yazın.

     
        if($rast==1){ //burada ise üretilen rastgele sayı ile rastgele dizemizi seçtik
             
             
                $arama = $harfdizisi[$i]; //burada harfleri aktardığımız değişkeni çağırdık burası while döngüsünden dolayı 1 artıp yazırıp tekrar 1 artacak ve $arama değişkenine aktaracak.
             
             
                $kelimedeger = array_search($arama,$dizi1);//burada ise dizi1 dizisinden yazılan kelimenin karşılığı bulundu ve $kelimedeger değişkenine aktarıldı.
             
                echo $rast; //dizi numarası yazdırıldı
                echo $kelimedeger; //harfimizin karşılığı olarak diziye eklediğimiz karakter yazdırıldı.
             
                $i++; //i artırılıp while döngüsü yenilenmek için yukarıya gitti.
             
                 


                    }
Yukarıda // ile her satırda ne anlama geldiğini anlattım şimdi ise ikinci dizemizi programa tanıtacağım.
Sizde bu aşağıdaki kodu her dizi ekleyeceğinizde kopyalayıp düzenleyip while döngüsünün süslü parantezi içine yazınız.




PHP:
if([COLOR=rgb(250, 197, 28)]$rast==2[/COLOR]){
             
             
                $arama = $harfdizisi[$i];
             
             
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2[/COLOR]);
             
                echo $rast;
                echo $kelimedeger;
             
                $i++;
             
                 


                    }

Tekrar söylüyorum While süslü parantezlerinin içine kopyalıyorsunuzz!!


artık sifrecoz.php ye geçelim.

burada da while döngüsüne kadar herşey aynı ondan dolayı direk while döngüsüyle başlıyorum.


PHP:
$i=0; //i değişkeni 0 ile başlayacak önemli !!
        while ($i<$kar) //girilen karakter sayısı kadar olma şartımızı belirledik.
{
     


     
        if($harfdizisi[$i]==1){//burada girilen ilk değer 0 da tutulduğu için direk 0 yerine $i yazdırarak ilk yazılan sayıyı yani dize sayımızı çekiyoruz. eğer dizi sayımız 1 ise bu bloğu yapacak.
             
                $ara = $i + 1; //burada ise 0 olan $i yi 1 artırıp 2. karakteri seçtiriyoruz ki buda bize şifrelenmiş kelimenin dizede hangi karakterde olduğunu gösteriyor. ki tek sayılarda karakter, çift sayılarda onun dizi numarası tutuluyor.
                $arama = $harfdizisi[$ara];//burada ise şifrelenmiş veriyi çekip $arama ya ekledik.
             
             
                $kelimedeger = array_search($arama,$dizi1c); //burada dizi1c yani dizi1 in dizi değerinin tam terslerinde arama yaptırdık ve sonucu kelimedeger e eklettik.
             
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);// burada ise en yukarıda şifrelerken ç yerine yazdırdığımız / karakterini, bu sefer tam tersi şekilde yaptırıyoruz.
 
    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
             
             
                echo $kelimedeger; //ve çözülmüş verimize türkçe karakterleri yukarıdaki gibi ekleyip yazdırıyoruz.
             
                $i=$i+2; //burası çok önemli her bir kelimenin 2 harfli çıktısı olduğu için çözerken while döngümüzün değişkenini 2 artırıyoruz. bu sayede yukarıda ki dizi değeri vs nin doğru çalışmasını sağlıyoruz.
             
                 


                    }//buraya kadar kopyalayın..

dizi sayımız iki olursa yine aynı şekilde yukarıdaki if bloğunun içindeki değişkenleri düzenleyip while döngüsünün içine yazıyoruz. Siz dizi eklemek isterseniz bu mantıkla artırabilirsiniz.

PHP:
if([COLOR=rgb(250, 197, 28)]$harfdizisi[$i]==2[/COLOR]){
             
                $ara = $i + 1;
                $arama = $harfdizisi[$ara];
             
             
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2c[/COLOR]);
             
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
 
    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
             
             
                echo $kelimedeger;
             
                $i=$i+2;

Bu günlük anlatacaklarım bu kadar.

İyi Forumlar.
Eline sağlık kanka.
 

egemizah

Katılımcı Üye
19 Şub 2021
865
429
Merhaba Arkadaşlar

Bu gün sizlere hiç örneği olmadığı için kriptoloji uygulaması yazıp detaylı bir şekilde nasıl yapıldığını anlatarak paylaşmak istedim.


İndirme linki
Virüs Total

İlk mantığını anlatarak başlamak istiyorum.
Şifreleme mantığımız yazılan değerleri her harfin önce arandığı dizinin sayısı ve o dizideki o harfin karşılığı olan bir karakter, bir sembol veya bir rakamdır.
(benim ayarladığımda alfabe+rakamlar+.+, ve boşluk gibi şeyler çevrilebilir. - + ? gibi semboller çevrilemez.) yani girilen her karakterin çıktısı dizi numarası ve dizideki tek karakterli olan karşılığıdır.
Anlamanız için Örnek vereyim. dizi 1 de a harfinin karşılığı 5 ise şifrelenmiş hali yani çıktısı 15 olacaktır.
Dizi 2 de a harfinin karşılığı c ise a harfi girildiğinde çıktısı 2c olacaktır.
Buradaki şifrelerken dizi seçimini rastgele olarak programa yaptırıyoruz. Böylelikle her kelimenin veya harfin karşılığı farklı sonuçlar çıkıyor. Yani dizi sayısını artırırsanız kriptografi tekniğimiz dahada zorlaşıyor.
her harfin karşılığı olarak bir adet harf, tek basamaklı sayı veya bir sembol ekleyerek dizi1 adında dizi oluşturuyoruz.
Örneğin a=1 b=, c=v gibi.
Birde bu dizede ne yazdıysak değişkenlerin yerlerini değiştirerek dizi1c olarak bir dizi oluşturuyoruz.
Ben bir örnek yaptım sadece küçük harflerle alfabenin tamamı, boşluk, nokta ve virgül (. ve ,) simgelerinide diziye ekledim ve tam tersi bir dizi yaptım.
Ve birtane daha dizi oluşturur adını dizi2 yaptım ve yerlerinin değişik versiyonlarını dizi2c yaptım. Program dosyalarındaki sifredizeleri.php dosyasında bunları görebilirsiniz.
Siz daha fazla dizi ekleyebiliirsiniz. tabiki önceki dizide a değerine 5 verdiyseniz yeni dizede t falan verin.
Bir diğer husus türkçe karakter problemi olduğu için (utf veya kod başına mb eklememe rağmen düzelmedi) ç,ğ,ı,ö,ş,ü harflerine dikkat edip dizi yerine yazmayınız.
Onlarıda kodları incelerseniz başka harf veya sembollerle değiştirip öyle aldık. Ve onun yerine ne yazdıysam onu diziye ekledim. Sonrasında sifrecoz.php de çıkış yazdırmadan önce aynı şekilde tam tersini uyguladım ki girilen ç ise çıkanda ç olsun diye...


PHP:
$sifrele = $_POST["sifrele"];
    $sifrele = mb_strtolower($sifrele); //küçük harf yaptık
    //tr sorunu başlangıç

    $eski = "ç";
    $yeni = "/";
    $sifrele = str_replace($eski, $yeni, $sifrele);//ç harfi yerine / yazdırdık...

Girilen kelimenin veya cümlenin aşağıdaki gibi karakter sayısını öğreniyoruz.
Buradaki önemli kısım bu fonksiyonumuzun boşluklarıda sayıyor olması. Buda cümleyi şifreliyebilmemizi sağlıyor.


Kod:
$karsay = strlen($sifrele);      //yazılan metindeki karakter sayısını alıyoruz.

    $kar = $karsay;

Sonrasında girilen tüm karakterleri ayrı değişkene atıyoruz.

Kod:
$harfdizisi = mb_str_split($sifrele);        //tüm hafrelerini değişkenlere atadık..

artık $harfdizisi[0] ile yazılan ilk karakteri, $harfdizisi[1] ile yazılan 2. karakteri alabiliyoruz. Şimdi geldik döngümüze. Döngümüzde ise $harfdizisi[$i] ile tüm harfleri çağıracağız.

PHP:
$i=0; //i ye sıfır verdik çünkü harf dizesi 1den değil 0 dan başlıyor !!!
        while ($i<$kar) //kelimemiz kaç karakterliyse ona gelince dursun dedik
{
    
$rast=rand(1,2); //1 ile 2 arasında rastgele sayı ürettirip değişkene atadık. Eğer sizde 2'den fazla harf listesi varsa 2 yerine onu artırarak yazın.

    
        if($rast==1){ //burada ise üretilen rastgele sayı ile rastgele dizemizi seçtik
            
            
                $arama = $harfdizisi[$i]; //burada harfleri aktardığımız değişkeni çağırdık burası while döngüsünden dolayı 1 artıp yazırıp tekrar 1 artacak ve $arama değişkenine aktaracak.
            
            
                $kelimedeger = array_search($arama,$dizi1);//burada ise dizi1 dizisinden yazılan kelimenin karşılığı bulundu ve $kelimedeger değişkenine aktarıldı.
            
                echo $rast; //dizi numarası yazdırıldı
                echo $kelimedeger; //harfimizin karşılığı olarak diziye eklediğimiz karakter yazdırıldı.
            
                $i++; //i artırılıp while döngüsü yenilenmek için yukarıya gitti.
            
                


                    }
Yukarıda // ile her satırda ne anlama geldiğini anlattım şimdi ise ikinci dizemizi programa tanıtacağım.
Sizde bu aşağıdaki kodu her dizi ekleyeceğinizde kopyalayıp düzenleyip while döngüsünün süslü parantezi içine yazınız.




PHP:
if([COLOR=rgb(250, 197, 28)]$rast==2[/COLOR]){
            
            
                $arama = $harfdizisi[$i];
            
            
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2[/COLOR]);
            
                echo $rast;
                echo $kelimedeger;
            
                $i++;
            
                


                    }

Tekrar söylüyorum While süslü parantezlerinin içine kopyalıyorsunuzz!!


artık sifrecoz.php ye geçelim.

burada da while döngüsüne kadar herşey aynı ondan dolayı direk while döngüsüyle başlıyorum.


PHP:
$i=0; //i değişkeni 0 ile başlayacak önemli !!
        while ($i<$kar) //girilen karakter sayısı kadar olma şartımızı belirledik.
{
    


    
        if($harfdizisi[$i]==1){//burada girilen ilk değer 0 da tutulduğu için direk 0 yerine $i yazdırarak ilk yazılan sayıyı yani dize sayımızı çekiyoruz. eğer dizi sayımız 1 ise bu bloğu yapacak.
            
                $ara = $i + 1; //burada ise 0 olan $i yi 1 artırıp 2. karakteri seçtiriyoruz ki buda bize şifrelenmiş kelimenin dizede hangi karakterde olduğunu gösteriyor. ki tek sayılarda karakter, çift sayılarda onun dizi numarası tutuluyor.
                $arama = $harfdizisi[$ara];//burada ise şifrelenmiş veriyi çekip $arama ya ekledik.
            
            
                $kelimedeger = array_search($arama,$dizi1c); //burada dizi1c yani dizi1 in dizi değerinin tam terslerinde arama yaptırdık ve sonucu kelimedeger e eklettik.
            
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);// burada ise en yukarıda şifrelerken ç yerine yazdırdığımız / karakterini, bu sefer tam tersi şekilde yaptırıyoruz.

    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
            
            
                echo $kelimedeger; //ve çözülmüş verimize türkçe karakterleri yukarıdaki gibi ekleyip yazdırıyoruz.
            
                $i=$i+2; //burası çok önemli her bir kelimenin 2 harfli çıktısı olduğu için çözerken while döngümüzün değişkenini 2 artırıyoruz. bu sayede yukarıda ki dizi değeri vs nin doğru çalışmasını sağlıyoruz.
            
                


                    }//buraya kadar kopyalayın..

dizi sayımız iki olursa yine aynı şekilde yukarıdaki if bloğunun içindeki değişkenleri düzenleyip while döngüsünün içine yazıyoruz. Siz dizi eklemek isterseniz bu mantıkla artırabilirsiniz.

PHP:
if([COLOR=rgb(250, 197, 28)]$harfdizisi[$i]==2[/COLOR]){
            
                $ara = $i + 1;
                $arama = $harfdizisi[$ara];
            
            
                $kelimedeger = array_search($arama,[COLOR=rgb(250, 197, 28)]$dizi2c[/COLOR]);
            
                 $eski = "/";
    $yeni = "ç";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = "?";
    $yeni = "ğ";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = "!";
    $yeni = "ı";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = '"';
    $yeni = 'ö';
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ":";
    $yeni = "ş";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);

    $eski = ";";
    $yeni = "ü";
    $kelimedeger = str_replace($eski, $yeni, $kelimedeger);
            
            
                echo $kelimedeger;
            
                $i=$i+2;

Bu günlük anlatacaklarım bu kadar.

İyi Forumlar.
elinize emeğinize sağlık
 

'CaptainKanka

O Şimdi Asker!
14 Eki 2012
1,683
1,257
localhost/admin.php
Merhaba hocam bu tekniği tam olarak nerelerde kullanabiliyoruz ?
HER TÜRLÜ İŞİNDE KULLANIRSIN. Örneğin bir mesajlaşma uygulaması, veya veritabanına bir veri kaydedeceksin ama md5 sha tekniklerine güvenmiyorsun bunu gelliştir kullan. Veya şifrelerini unutuyorsun bununla şifrelerini şifrelenmiş bir şekilde tutarsın ulaşan kişilerde çözümlemesini yapamaz.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.