Can';t从JS刮到c#

Can';t从JS刮到c#,c#,javascript,C#,Javascript,有一个简单的代码可以对JS执行CRC32检查。我正在把所有的页面都刮下来,并试图模仿所有的字符串。我对该函数的计算部分有一个问题,尤其是chlg变量: var c = 354939801 var slt = "zws0mUwF" var s1 = 'h' var s2 = 'l' var n = 4 var start = s1.charCodeAt(0); var end = s2.charCodeAt(0); var arr = new Array(n); var m = Math.po

有一个简单的代码可以对JS执行CRC32检查。我正在把所有的页面都刮下来,并试图模仿所有的字符串。我对该函数的计算部分有一个问题,尤其是
chlg
变量:

var c = 354939801
var slt = "zws0mUwF"
var s1 = 'h'
var s2 = 'l'
var n = 4
var start = s1.charCodeAt(0);
var end   = s2.charCodeAt(0);
var arr = new Array(n);
var m = Math.pow(((end - start) + 1),n);
for (var i=0; i<n; i++)
arr[i] = s1;
for (var i=0; i<m-1; i++)
{
    for(var j=n-1; j>=0;--j)
    {
        var t = arr[j].charCodeAt(0);
        t++;
        arr[j] = String.fromCharCode(t);
        if (arr[j].charCodeAt(0)<=end)
        {
            break;
        } 
        else
        {
            arr[j] = s1 ;
        }
    }
    var chlg = arr.join("");
} 
对于
s1='h'
s2='l'
我总是得到
'll'
,当JS代码得到
'hkkm'
'mkkl'
等。
为什么会这样?为什么JS总是随机计算呢?

您总是将“hhhi”分配给chlg的javascript。如果您想要c#中的等效值,这里有一个转换:

public void Challenge()
    {
        var c = 354939801;
        var slt = "zws0mUwF";
        var s1 = 'h';
        var s2 = 'l';
        var n = 4;
        var start = (int)s1;
        var end = (int)s2;
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        var m = Math.Pow((start - end) + 1, n);
        for (int i = 0; i < n; i++)
        {
            sb.Append(s1);
        }
        var str = sb.ToString().ToCharArray();
        for (int i = 0; i < (m - 1); i++)
        {
            for (int j = n - 1; j >= 0; --j)
            {
                var t = (int)str[j];
                t++;
                str[j] = (char)t;
                if ((int)str[j] <= (int)end)
                {
                    break;
                }
                else
                {
                    str[j] = s1;
                }
            }
            var chlg = str.ToString();
        }
    }
public void Challenge()
{
var c=354939801;
var slt=“zws0mUwF”;
变量s1='h';
变量s2='l';
var n=4;
var start=(int)s1;
var end=(int)s2;
System.Text.StringBuilder sb=新的System.Text.StringBuilder();
var m=数学功率((开始-结束)+1,n);
对于(int i=0;i=0;--j)
{
var t=(int)str[j];
t++;
str[j]=(char)t;
如果((int)str[j]
public void Challenge()
    {
        var c = 354939801;
        var slt = "zws0mUwF";
        var s1 = 'h';
        var s2 = 'l';
        var n = 4;
        var start = (int)s1;
        var end = (int)s2;
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        var m = Math.Pow((start - end) + 1, n);
        for (int i = 0; i < n; i++)
        {
            sb.Append(s1);
        }
        var str = sb.ToString().ToCharArray();
        for (int i = 0; i < (m - 1); i++)
        {
            for (int j = n - 1; j >= 0; --j)
            {
                var t = (int)str[j];
                t++;
                str[j] = (char)t;
                if ((int)str[j] <= (int)end)
                {
                    break;
                }
                else
                {
                    str[j] = s1;
                }
            }
            var chlg = str.ToString();
        }
    }