写了一个交换链接的自定义函数,但不完善,请高手帮忙
时间: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
*/
这是函数体*/
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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28