请教一段JS代码

zj_zwl 2011-08-26 10:06:34
1: function C4(s){
2: var b = Array();
3: var m = (1 << 8) - 1;
4: for (var i = 0; i < s.length * 8; i += 8)
5: b[i>>5]|=(s.charCodeAt(i/8)&m)<<(i % 32);
6: return b;
7: }
在IE里执行C4函数没问题,但在.net里用Eval.JScriptEvaluate执行时总提示第5行"参数计数不匹配。"
这个函数是我从其它网站复制来的

...全文
130 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayymbirst 2012-02-05
  • 打赏
  • 举报
回复
哥们也在模拟登录, 网页在提交前,登录信息被 md5 加密了吧。 将
b[i>>5]|=(s.charCodeAt(i/8)&m)<<(i % 32); 改成
b[i>>5] =b[i>>5] | (s.charCodeAt(i/8)&m)<<(i % 32);
貌似不支持 |= 符号。
zj_zwl 2011-08-30
  • 打赏
  • 举报
回复
算了,我把它编译成DLL再调用就没问题了
huangwenquan123 2011-08-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zj_zwl 的回复:]
但在.net里用Eval.JScriptEvaluate执行就有问题,不知道为什么
[/Quote]类似
 string s = "function add(x,y)";
s += "{";
s += "return x+y;";
s += "}";

s += "var m;";
s += "m=add(33,22);";
Console.WriteLine(Microsoft.JScript.Eval.JScriptEvaluate(s, Microsoft.JScript.Vsa.VsaEngine.CreateEngine()).ToString());
zj_zwl 2011-08-27
  • 打赏
  • 举报
回复
但在.net里用Eval.JScriptEvaluate执行就有问题,不知道为什么
huangwenquan123 2011-08-27
  • 打赏
  • 举报
回复
测试过 木有问题
        function C4(s){
var b = new Array();
var m = (1 << 8) - 1;
for (var i = 0; i < s.length * 8; i += 8)
b[i>>5]|=(s.charCodeAt(i/8)&m)<<(i % 32);
return b;
}
子夜__ 2011-08-26
  • 打赏
  • 举报
回复
var b = new Array();

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧