function decode( $str, $v = "", $k = "p" )
{
if ( !empty( $str ) && $v == "k" )
{
$str = strtr( $str, array( "_p" => "-", "_o" => "+", "_t" => "=" ) );
$st = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+=";
$d1 = 0;
$d2 = 0;
$d3 = strlen( $str );
while ( isset( $k[$d2] ) )
{
$d1 += ord( $k[$d2++] );
}
$d4 = $str[$d1 % $d3];
$d5 = strpos( $st, $d4 );
$str = substr_replace( $str, "", $d1 % $d3--, 1 );
$d6 = $d5;
$d7 = substr( md5( $k.$d4 ), $d6 % 8, $d1 % 8 + 16 );
$d8 = "";
$d9 = 0;
$d10 = 0;
$d3 = strlen( $str );
$d11 = strlen( $d7 );
$d2 = 0;
for ( ; $d2 < $d3; ++$d2 )
{
$d10 = $d10 == $d11 ? 0 : $d10;
$d9 = strpos( $st, $str[$d2] ) - $d6 - ord( $d7[$d10++] );
while ( $d9 < 0 )
{
$d9 += 64;
}
$d8 .= $st[$d9];
}
return base64_decode( $d8 );
}
}这是一段解码的php代码,现在需要逆向算出$str,想了一整天卡在$d4 这边的,希望高手们帮帮忙哈
http://topic.csdn.net/u/20120411/18/89AB2508-FAED-4C22-9C27-BC7140091CDA.html