楼主不要太懒啊。都是星星的人物了。
此代码并没有太多的难度吧。。参照手册看吧。。
http://cn.php.net/manual/zh/index.php

解决方案 »

  1.   

    global $HexTable;//全局數組。
    $HexTable[0]%2 != 0//求余
    其它的都是位运算和迭代,会c就会懂了。
    ord()这个函数返回第一个字母的ASCII码。
    你这个代码应该是不全的。
      

  2.   

    帅哥哥,代码肯定是全的,但是我一点点都不会PHP啊,这是一段加密算法啊。
    拜托各位老大了~~
    什么>>和|我都没有接触过这些运算符号,麻烦啦。很着急啊~
      

  3.   

    朋友帮忙翻译的,有些地方我们都不明白
    function ConvertChar(CByte) 
           
      public HexTable
      
      Flag1 = HexTable(1) & 1         --------这里对不对阿 ,&是什么运算符
      Flag2 = HexTable(2) & 1    
      localChar = 0  for i=8 to 1 step -1
        if HexTable(0) mod 2 <> 0 
          HexTable(0) = ((HexTable(0)^HexTable(3))>>1) | HexTable(9)
              '--------这里不明白,((HexTable(0)^HexTable(3))>>1) | HexTable(9)??
          if HexTable(1) mod 2 <> 0
             HexTable(1) = ((HexTable(1)^HexTable(4))>>1) | HexTable(10)
             '--------这里不明白((HexTable(1)^HexTable(4))>>1) | HexTable(10)
             Flag1 = 1
          else
             HexTable(1) = (HexTable(1)>>1) & HexTable(7)
             '--------这里不明白(HexTable(1)>>1) & HexTable(7)
             Flag1  = 0
          end if 
        else
          HexTable(0) = (HexTable(0)>>1) & HexTable(6)'--------这里不明白
          if  HexTable(2) %2 <>0
             HexTable(2) = ((HexTable(2)^HexTable(5))>>1 )| HexTable(11)'--------这里不明白
             Flag2 =1
          else
             HexTable(2) = (HexTable(2)>>1) & HexTable(8)'--------这里不明白
             Flag2 =0
          end if
        end if    localChar = (localChar <<1) | (Flag1 ^ Flag2)'--------这里不明白
      Next  TempInt = localChar ^ asc(CByte)
      return  iif(TempInt==0 ,localChar ,TempInt )
    End Function 
    另外^是什么运算符号??N次方?
      

  4.   

    统计了一下:
    简单得问一下:
    1、运算符号^和&在PHP是做什么的?
    2、((HexTable(1)^HexTable(4))>>1) | HexTable(10)整体是什么运算??包括>>和|是什么运算符号?
    3、 (HexTable(0)>>1) & HexTable(6)整体是什么运算??
      

  5.   

    ASP有移位运算符吗?没听说过好像
    你朋友翻译的肯定是错的。
    总之就是把& 换成and 把 | 换成 or 把 ^ 换成 xor 把 << 1换成 * 2 把 >>1 换成 \2就行了
    ----------------------------------
    function ConvertChar(CByte)public HexTableFlag1 = HexTable(1) and 1 --------这里对不对阿 ,&是什么运算符
    Flag2 = HexTable(2) and 1
    localChar = 0for i=8 to 1 step -1
    if HexTable(0) mod 2 <> 0
    HexTable(0) = ((HexTable(0) xor HexTable(3)) \ 2) or HexTable(9)
    if HexTable(1) mod 2 <> 0
    HexTable(1) = ((HexTable(1) xor HexTable(4)) \ 2) or HexTable(10)
    Flag1 = 1
    else
    HexTable(1) = (HexTable(1) \ 2 ) and HexTable(7)
    Flag1 = 0
    end if
    else
    HexTable(0) = (HexTable(0) \ 2) and HexTable(6)
    if HexTable(2) mod 2 <>0
    HexTable(2) = ((HexTable(2) xor HexTable(5)) \ 2 ) or HexTable(11)
    Flag2 =1
    else
    HexTable(2) = (HexTable(2) \ 2) and HexTable(8)
    Flag2 =0
    end if
    end iflocalChar = (localChar * 2) or (Flag1 xor Flag2)
    NextTempInt = localChar xor asc(CByte)
    ConvertChar = iif(TempInt=0 ,localChar ,TempInt )
    End Function
      

  6.   

    ASP有移位运算符吗?没听说过好像
    你朋友翻译的肯定是错的。
    总之就是把& 换成and 把 | 换成 or 把 ^ 换成 xor 把 << 1换成 * 2 把 >>1 换成 \2就行了
    ----------------------------------
    function ConvertChar(CByte)public HexTableFlag1 = HexTable(1) and 1 --------这里对不对阿 ,&是什么运算符
    Flag2 = HexTable(2) and 1
    localChar = 0for i=8 to 1 step -1
    if HexTable(0) mod 2 <> 0
    HexTable(0) = ((HexTable(0) xor HexTable(3)) \ 2) or HexTable(9)
    if HexTable(1) mod 2 <> 0
    HexTable(1) = ((HexTable(1) xor HexTable(4)) \ 2) or HexTable(10)
    Flag1 = 1
    else
    HexTable(1) = (HexTable(1) \ 2 ) and HexTable(7)
    Flag1 = 0
    end if
    else
    HexTable(0) = (HexTable(0) \ 2) and HexTable(6)
    if HexTable(2) mod 2 <>0
    HexTable(2) = ((HexTable(2) xor HexTable(5)) \ 2 ) or HexTable(11)
    Flag2 =1
    else
    HexTable(2) = (HexTable(2) \ 2) and HexTable(8)
    Flag2 =0
    end if
    end iflocalChar = (localChar * 2) or (Flag1 xor Flag2)
    NextTempInt = localChar xor asc(CByte)
    ConvertChar = iif(TempInt=0 ,localChar ,TempInt )
    End Function
      

  7.   

    不能直譯的,&在vbs中是連接符,而在php是与,^是php是异或,在vbs是乘方。$a & $b And(按位与) 将在 $a 和 $b 中都为 1 的位设为 1。 
    $a | $b Or(按位或) 将在 $a 或者 $b 中为 1 的位设为 1。 
    $a ^ $b Xor(按位异或) 将在 $a 和 $b 中不同的位设为 1。 
    ~ $a Not(按位非) 将 $a 中为 0 的位设为 1,反之亦然。 
    $a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 
    $a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 
      

  8.   

    http://cn.php.net/manual/zh/language.operators.php是位运算符,我刚才给出的手册里有啊。看上面的地址。
      

  9.   

    vbs是没有位运算符的,把位移直接除2也是在无符号运算时才会对,要是有符号运算就会溢出。
      

  10.   

    substr 和 chr怎么转换,是什么函数??谢谢 lisoon((水翡草芥--突然想去扫街)) ,回头给分!~