+ -
当前位置:首页 → 问答吧 → 写了一个交换链接的自定义函数,但不完善,请高手帮忙

写了一个交换链接的自定义函数,但不完善,请高手帮忙

时间:2010-09-26

来源:互联网

<?php /*
这是函数体*/
function decode( $string, $key )
{
    $key = md5( $key );
    $key_length = strlen( $key );
    $string = base64_decode( $string );
    $string_length = strlen( $string );//echo $string_length ;echo '<br>';
    $rndkey = $box = array( );
    $result = "";
    $i = 0;
    for ( ; $i <= 255; ++$i )
    {
        $rndkey[$i] = ord( $key[$i % $key_length] );
     //   echo $i.':'.$rndkey[$i] ;echo '<br>'; //32一个循环
        $box[$i] = $i;
    }
    $j = $i = 0;
    for ( ; $i < 256; ++$i )
    {
        $j = ( $j + $box[$i] + $rndkey[$i] ) % 256;
        $tmp = $box[$i];
        $box[$i] = $box[$j];
        $box[$j] = $tmp;
      //  echo $i.':'.$box[$i].'-'.$box[$j];echo '<br>';
    }
    $a = $j = $i = 0;
    for ( ; $i < $string_length; ++$i )
    {
        $a = ( $a + 1 ) % 256;
        $j = ( $j + $box[$a] ) % 256;
        $tmp = $box[$a];
        $box[$a] = $box[$j];
        $box[$j] = $tmp;
        $result .= chr( ord( $string[$i] ) ^ $box[( $box[$a] + $box[$j] ) % 256] );
    }
    if ( substr( $result, 0, 8 ) == substr( md5( substr( $result, 8 ).$key ), 0, 8 ) )
    {
        return substr( $result, 8 );
    }
}




?>

/*问如果知道函数返回值和$key值,能不能帮我写个函数得到 $string值,希望高手帮忙,谢谢了
函数返回值是 WjJWdVozaHBibXQxWVdrdVkyOXQ=YsrvSqsbGveLO0tXiuPbBy6OssrvWtceutcSjoQ==
$key值是:c3633d5812ea10906f0bb5a3272a0b69
希望高手写个函数能得到$string值,$string的参考值我这里写出来,供调试用:JbBSNZ5R0M6NG5owkDJ+S2Kqjg1P+h5zQSDtwQn0lA9BgJuMkwlh7I7DrPPJpuDwgCcex1ak02KejA/QwuYZBZOrtPgRS+rsmWgGx5o
*/

作者: dingyanyiming   发布时间: 2010-09-26

不明白是交换什么链接,顶了就是

作者: fly-yu   发布时间: 2010-09-26

相关阅读 更多