帮助将小型Python代码转换为PHP

帮助将小型Python代码转换为PHP,php,python,Php,Python,我需要一些帮助来将python代码转换成php语法 该代码用于使用字母编码生成字母数字代码 守则: def mkcpl(x): x = ord(x) set="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" for c in set: d = ord(c)^x if chr(d) in set: return 0,

我需要一些帮助来将python代码转换成php语法 该代码用于使用字母编码生成字母数字代码

守则:

def mkcpl(x):  
    x = ord(x)  
    set="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"  
    for c in set:  
        d = ord(c)^x  
        if chr(d) in set:  
            return 0,c,chr(d)  
        if chr(0xff^d) in set:  
            return 1,c,chr(0xff^d)  
    raise Exception,"No encoding found for %#02x"%x  


def mkalphadecryptloader(shcode):  
    s="hAAAAX5AAAAHPPPPPPPPa"  
    shcode=list(shcode)  
    shcode.reverse()  
    shcode = "".join(shcode)  
    shcode += "\x90"*((-len(shcode))%4)  
    for b in range(len(shcode)/4):  
        T,C,D = 0,"",""  
        for i in range(4):  
            t,c,d = mkcpl(shcode[4*b+i])  
            T += t << i  
            C = c+C  
            D = d+D  
        s += "h%sX5%sP" % (C,D)  
        if T > 0:  
            s += "TY"  
            T = (2*T^T)%16  
            for i in range(4):  
                if T & 1:  
                    s += "19"  
                T >>= 1  
                if T == 0:  
                    break  
                s += "I"  
    return s+"\xff\xe4"  
def mkcpl(x):
x=ord(x)
set=“0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”
对于集合中的c:
d=ord(c)^x
如果chr(d)在集合中:
返回0,c,chr(d)
如果chr(0xff^d)在集合中:
返回1,c,chr(0xff^d)
引发异常,“未找到%02x“%x”的编码
def mkalphadecryptloader(shcode):
s=“haaaax5aaaahppppppa”
shcode=列表(shcode)
shcode.reverse()
shcode=”“.加入(shcode)
shcode+=“\x90”*((-len(shcode))%4)
对于范围内的b(len(shcode)/4):
T、 C,D=0,“,”
对于范围(4)中的i:
t、 c,d=mkcpl(shcode[4*b+i])
T+=t0:
s+=“TY”
T=(2*T^T)%16
对于范围(4)中的i:
如果T&1:
s+=“19”
T>>=1
如果T==0:
打破
s+=“I”
返回s+“\xff\xe4”

任何帮助都将不胜感激

我会帮你一点忙。剩下的部分,请仔细阅读

函数mkcpl($x){
$x=作战需求文件($x);
$set=“0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”;
$set=str_split($set);
foreach($设为$c){
$d=作战需求文件($c)^$x;
if(在数组中(chr($d),$set)){
返回数组(0,$c,chr($d));
}
if(在数组中(chr(0xff^d),$set)){
返回数组(0,$c,chr(0xff^$d));
}
}
}
函数mkalphadecryptloader($shcode){
$s=“haaaax5aahppppppa”;
#你可以使用strev()
$shcode=str\U分割($shcode);
$shcode=数组\反向($shcode);
$shcode=内爆(“,$shcode”);
#继续…阅读文档
}
印刷品(mkcpl(“A”));
mk字母加载器(“abc”);
Python:PHP
len()-字符串/数组的长度。strlen(),count()
range()-为($i=0;$i)生成数字范围
其余的,如+=,==等是
这两个国家的情况大致相同
语言


小心;在PHP中,字符串连接是使用
=
而不是
+=
来完成的。如果尝试使用
+=
的话,PHP将尝试对表达式进行数学计算(可能返回空值)你会绞尽脑汁试图找出你的脚本出了什么问题。

-1:我认为你应该向我们解释你的核心问题,这样我们就可以帮助解决问题,而不是让我们翻译你不懂的脚本。我们不为你工作。你可以研究如何让代码格式化为你工作。这并不难,只是简单而已在提交之前选择所有的代码,并将小的“10101”图标客户端。其次,我会嘲笑并告诉你,我不会帮助任何人将Python转换为PHP。应该是另一种方式。漂白剂!:-)(我实际上对PHP不太了解,所以即使我想,我也帮不了你。)先生,我的python技能太差了这就是为什么我要请这里的专家来帮助我我懂php,但我不懂python,而且我没有得到与php相同的功能,我只在python中找到它,我认为任何了解python的人都不难帮助我用php语言编写代码,我的核心问题是,我需要一个php函数,将外壳代码转换为字母数字代码:)需要半个小时,你应该不会再有问题了。就像Spider_Net的“答案”一样,上面的“答案”也应该是一条评论。一个很好的理由是,当你对某人的答案发表评论时,该人将在每个SO页面上收到通知,告知他们的答案已收到评论;谢谢我是新来的,所以我很感谢你的指导。@outis实际上,对于得到通知的人来说,现在回答比评论要好得多。电子邮件和RSS都只显示答案,根本不提供任何评论。@Cawas:“更好”,在这种情况下,这个词不够精确。电子邮件通知和订阅问题的RSS提要需要用户采取行动(就个人而言,我不使用这两种方式来回答问题)。但是,登录用户查看SO页面时的响应通知不需要任何操作。因此,你可以很容易地说后者“更好”。@Cawas:在任何情况下,将评论作为答案发布到另一个答案并不遵循SO格式()。这毕竟是一个问答网站,而不是一个论坛。
function mkcpl($x){
    $x=ord($x);
    $set="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    $set=str_split($set);
    foreach($set as $c){
        $d=ord($c)^$x;
        if( in_array( chr($d) ,$set ) ){
            return array(0,$c,chr($d));
        }
        if ( in_array( chr(0xff^d) ,$set ) ){
            return array(0,$c,chr(0xff^$d));
        }
    }
}

function mkalphadecryptloader($shcode){
    $s="hAAAAX5AAAAHPPPPPPPPa";
    # you could use strrev()
    $shcode=str_split($shcode);
    $shcode=array_reverse($shcode);
    $shcode=implode("",$shcode);
    # continue on... read the documentation
}

print_r(mkcpl("A"));
mkalphadecryptloader("abc");



Python:                                PHP

len() - length of string/array.        strlen(),count() 
range() - generate range of numbers    for($i=0;$i<=number;$i++)
<<                                     <<