Bir Javascript fonksiyonunun PHP fonksiyonuna dönüştürülmesi!

Başlatan kaansef, 09 Ağustos 2011 - 12:41:43

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

kaansef

Arkadaşlar bir projem var fakat proje için gerekli bir kod javascript olarak verilmiş.Benim bunu PHP'ye dönüştürmem gerek fakat javascript hakkında hiçbir bilgim yok.Javascriptten anlayan biri aşağıdaki kodun PHP fonksiyonu olarak dönüşmüş halini verebilirmi?

function decrypt(str, key1, key2) {
var loc1 = [];
for (var loc3 = 0; loc3 < str.length; ++loc3) {
loc1.push(("000" + parseInt(str.charAt(loc3), 16).toString(2)).slice(-4));
}
loc1 = loc1.join("").split("");
var loc6 = [];
for (var loc3 = 0; loc3 < 384; ++loc3) {
key1 = (key1 * 11 + 77213) % 81371;
key2 = (key2 * 17 + 92717) % 192811;
loc6[loc3] = (key1 + key2) % 128;
}
for (var loc3 = 256; loc3 >= 0; --loc3) {
var loc5 = loc6[loc3];
var loc4 = loc3 % 128;
var loc8 = loc1[loc5];
loc1[loc5] = loc1[loc4];
loc1[loc4] = loc8;
}
for (var loc3 = 0; loc3 < 128; ++loc3) {
loc1[loc3] = loc1[loc3] ^ loc6[loc3 + 256] & 1;
}
var loc12 = loc1.join("");
var loc7 = [];
for (var loc3 = 0; loc3 < loc12.length; loc3 = loc3 + 4) {
var loc9 = loc12.substr(loc3, 4);
loc7.push(loc9);
}
var loc2 = [];
for (var loc3 = 0; loc3 < loc7.length; ++loc3) {
loc2.push(parseInt(loc7[loc3], 2).toString(16));
}
return loc2.join("");
}




Teşekkürler...


EDİT:Arkadaşlar yabancı bir siteden gereken kodu buldum.Yindede herkese teşekkürler.İşine yarayanlar için aşağıya fonksiyonu koyuyorum.


         function decrypt($str, $key1, $key2)
         {
            $reg1 = array();
           
               for($reg3=0; $reg3<strlen($str); $reg3++)
               {
                  $reg0 = $str[$reg3];
                     
                     switch($reg0)
                     {
                        case '0': $reg1[] = '0000'; break;
                        case '1': $reg1[] = '0001'; break;
                        case '2': $reg1[] = '0010'; break;
                        case '3': $reg1[] = '0011'; break;
                        case '4': $reg1[] = '0100'; break;
                        case '5': $reg1[] = '0101'; break;
                        case '6': $reg1[] = '0110'; break;
                        case '7': $reg1[] = '0111'; break;
                        case '8': $reg1[] = '1000'; break;
                        case '9': $reg1[] = '1001'; break;
                        case 'a': $reg1[] = '1010'; break;
                        case 'b': $reg1[] = '1011'; break;
                        case 'c': $reg1[] = '1100'; break;
                        case 'd': $reg1[] = '1101'; break;
                        case 'e': $reg1[] = '1110'; break;
                        case 'f': $reg1[] = '1111'; break;
                     }
               }
               
               $reg1 = join($reg1);
               $reg6 = array();
               
               for($reg3=0; $reg3<384; $reg3++)
               {
                  $key1 = ($key1 * 11 + 77213) % 81371;
                  $key2 = ($key2 * 17 + 92717) % 192811;
                  $reg6[] = ($key1 + $key2) % 128;
               }
               
               for($reg3=256; $reg3>=0; $reg3--)
               {
                  $reg5 = $reg6[$reg3];
                  $reg4 = $reg3 % 128;
                  $reg8 = $reg1[$reg5];
                  $reg1[$reg5] = $reg1[$reg4];
                  $reg1[$reg4] = $reg8;
               }
               
               for($reg3=0; $reg3<128; $reg3++)
               {
                  $reg1[$reg3] = $reg1[$reg3] ^ ($reg6[$reg3+256] & 1);   
               }
               
               $reg12 = $reg1;
               $reg7 = array();
               
               for($reg3=0; $reg3<strlen($reg12); $reg3+=4)
               {
                  $reg9 = substr($reg12, $reg3, 4);
                  $reg7[] = $reg9;
               }
               
               $reg2 = array();
               
               for($reg3=0; $reg3<count($reg7); $reg3++)
               {
                  $reg0 = $reg7[$reg3];
                 
                     switch($reg0)
                     {
                        case '0000': $reg2[] = '0'; break;
                        case '0001': $reg2[] = '1'; break;
                        case '0010': $reg2[] = '2'; break;
                        case '0011': $reg2[] = '3'; break;
                        case '0100': $reg2[] = '4'; break;
                        case '0101': $reg2[] = '5'; break;
                        case '0110': $reg2[] = '6'; break;
                        case '0111': $reg2[] = '7'; break;
                        case '1000': $reg2[] = '8'; break;
                        case '1001': $reg2[] = '9'; break;
                        case '1010': $reg2[] = 'a'; break;
                        case '1011': $reg2[] = 'b'; break;
                        case '1100': $reg2[] = 'c'; break;
                        case '1101': $reg2[] = 'd'; break;
                        case '1110': $reg2[] = 'e'; break;
                        case '1111': $reg2[] = 'f'; break;
                     }
               }
           
            return join($reg2);
                     
         }

# 28065

alquirel

Konunun başlığını aradığınız fonksiyonun ismine uygun olarak değiştirmeniz aranıp bulunabilirliğini arttırması açısından daha iyi olabilir belki...

sem

Alıntı yapılan: alquirel - 09 Ağustos 2011 - 16:30:23
Konunun başlığını aradığınız fonksiyonun ismine uygun olarak değiştirmeniz aranıp bulunabilirliğini arttırması açısından daha iyi olabilir belki...

+1

diyeyim, zamandan tasarruf edeyim...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?