这是我上个求助,然后百度断断续续改成php的了,但是为什么 $bin[$i>5] |= ($sss & $mask)<<($i % 32);这里报错
<?php
function hex_si($s) {
$aa = '744e7d7e7028b817bd9f8f3c6f28a8d3&a171b739a2168bd9c188cf15f9139f90&mtop.taobao.wireless.share.password.get&1.0&0&0&';
$bb = '&0';
$cc = str2binl($aa + $s + $bb);
/*$cc = md5_1_1(, (116 + s.length) * chrsz);*/
/*$kk =binl2hex($cc);*/
return $cc;
}function str2binl($str) {
$bin = Array();
$chrsz = 8;
$mask = (1<$chrsz) - 1;
$strcd =strlen($str);
$sss = get_bianma($str);
for ($i = 0; $i < $strcd * $chrsz; $i += $chrsz)
$bin[$i>5] |= ($sss & $mask)<<($i % 32);
return $bin;
}
function get_bianma($str)//等同于js的charCodeAt()
{
$result = array();
for ($i = 0, $l = mb_strlen($str, 'utf-8'); $i < $l; ++$i) {
$result[] = uniord(mb_substr($str, $i, 1, 'utf-8'));
}
return join(",", $result);
}function uniord($str, $from_encoding = false) {
$from_encoding = $from_encoding ? $from_encoding : 'UTF-8';
if (strlen($str) == 1)
return ord($str);
$str = mb_convert_encoding($str, 'UCS-4BE', $from_encoding);
$tmp = unpack('N', $str);
return $tmp[1];
}$st = 'd3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==';echo str2binl($st);?>
<?php
function hex_si($s) {
$aa = '744e7d7e7028b817bd9f8f3c6f28a8d3&a171b739a2168bd9c188cf15f9139f90&mtop.taobao.wireless.share.password.get&1.0&0&0&';
$bb = '&0';
$cc = str2binl($aa + $s + $bb);
/*$cc = md5_1_1(, (116 + s.length) * chrsz);*/
/*$kk =binl2hex($cc);*/
return $cc;
}function str2binl($str) {
$bin = Array();
$chrsz = 8;
$mask = (1<$chrsz) - 1;
$strcd =strlen($str);
$sss = get_bianma($str);
for ($i = 0; $i < $strcd * $chrsz; $i += $chrsz)
$bin[$i>5] |= ($sss & $mask)<<($i % 32);
return $bin;
}
function get_bianma($str)//等同于js的charCodeAt()
{
$result = array();
for ($i = 0, $l = mb_strlen($str, 'utf-8'); $i < $l; ++$i) {
$result[] = uniord(mb_substr($str, $i, 1, 'utf-8'));
}
return join(",", $result);
}function uniord($str, $from_encoding = false) {
$from_encoding = $from_encoding ? $from_encoding : 'UTF-8';
if (strlen($str) == 1)
return ord($str);
$str = mb_convert_encoding($str, 'UCS-4BE', $from_encoding);
$tmp = unpack('N', $str);
return $tmp[1];
}$st = 'd3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==';echo str2binl($st);?>
解决方案 »
- 高手指点 php 做个简单点的文件上传功能
- 有人用php连接过微软的多维数据集吗?
- PHP问题求助,请大神帮忙。
- 记录集移动:记录集里,如何将某条特定的记录不显示,直接显示下一条?
- 请教php+mysql中文字符乱码问题,麻烦大家给提提建议
- 请问用表格的形式列出以下查出的信息的?
- 计算数组的差集,并删除空行???
- 请教各位搞PHP的,又在公司待过的同志们,做后台程序的,是不是还要做前台网页,做美工啊!(在线等!)
- 请大家帮帮我啊!!!!!!
- 开发wap选择
- 求助,这段js怎么转成php使用,谢谢
- bootstrapfileinput 返回值data.respons是 undefined怎么解决
$bin[$i>5] |= ($sss & $mask)<<($i % 32); 这里的数组下标要是确切的数,不能用这样的判断语句