• 26-04-2009, 22:33:07
    #10
    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.
  • 26-04-2009, 22:33:17
    #11
    peki

    <?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:22
    #12
    Misafir adlı üyeden alıntı: mesajı görüntüle
    peki
    <?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

    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, 22:56:23
    #13
    teşekkür ederim lacremel

    benim aklım sürekli sesli harfleri sessiz harflere dönüştürmeye gidiyor(du)
  • 26-04-2009, 23:10:59
    #14
    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
    #15
    Misafir adlı üyeden alıntı: mesajı görüntüle
    benim aklım sürekli sesli harfleri sessiz harflere dönüştürmeye gidiyor(du)
    Ş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.

    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.