我爱Aspx >> C#.Net >> 急!高手指点:为何在不同的 Linux 服务器上会产生不同的结果?函数如下!不知为何在不同的 Linux 服务器上会产生不同的结果?!
function encrypt($Str,$sKey)
{
$C1 = 55689;
$C2 = 24553;
for($i=0; $i< strlen($Str); $i++) {
$tmpStr = chr(ord(substr($Str,$i,1)) ^ ($sKey >> 8));
$sKey = ((ord($tmpStr) % 256 + $sKey) * $C1 % 65536 + $C2) % 65536;
$KeyStr .= $tmpStr;
}
$Str = $KeyStr;
$KeyStr = "";
for($i=0; $i<strlen($Str); $i++) {
$j = ord(substr($Str,$i,1));
$KeyStr .= chr(65 + floor($j / 26)) .chr(65+($j % 26));
}
Return $KeyStr;
}
第2楼. 由 bigluckyfox 于 2007-4-8 18:41:22 发表
有什么不同呢?
第3楼. 由 axaw 于 2007-4-8 20:07:49 发表
难道是32位机与64位引起的数位偏差?
第4楼. 由 Fufay 于 2007-4-8 20:38:40 发表
函数有问题。
第5楼. 由 yueliangdao0608 于 2007-4-8 23:19:44 发表
关注...
第6楼. 由 li1229363 于 2007-4-9 8:39:39 发表
如果这段程序没有逻辑上的问题,都可以作为php中string类函数的经典例子了!
本人眼拙,没有看出程序在哪个地方有逻辑错误,也没有看出来究竟是什么东西造成的执行情况不同……
第7楼. 由 wt9199 于 2007-4-9 10:02:00 发表
应该是 32位机与64位引起的数位偏差。
我测试过,在不同平台上产生的浮点位数不同,64位 的比 32位少两位。如果传递的字符串较长,那么返回的结果中仅仅开始几个是相同的,后面的截然不同。
Ҷƪл˵?
高分求助!!txt文件去空格问题![06-12]
有没有类似于过滤器的东东,但是在..[06-12]
菜单问题[06-12]
默认网关丢失的问题[06-12]
那位大哥能给小弟一些VFP的常用函..[06-12]
如何在jsp中编写判断语句判断时间..[06-12]
如何通过注册表设置系统的环境变..[06-12]
一删除桌面上的东西,系统cpu占有..[06-12]
急!!!双系统启动不了了[06-12]
如何隐藏ie 的地址栏的url 和 隐..[06-12]