0
将此JavaScript转换为C#时,我有点困惑...将JavaScript转换为C#
任何帮助,将不胜感激!
这里是JavaScript:
function d(strInput) {
strInput = decoder(strInput);
var strOutput = "";
var intOffset = (key + 112)/12;
for (i = 4; i < strInput.length; i++) {
thisCharCode = strInput.charCodeAt(i);
newCharCode = thisCharCode - intOffset;
strOutput += String.fromCharCode(newCharCode)
}
document.write(strOutput)
}
这是我在将其转换为C#的尝试。它的工作原理了一些时间,但大部分时间为负数的关键...
public string decode(int key, string data)
{
int i;
string strInput = base64Decode(data);
StringBuilder strOutput = new StringBuilder("");
int intOffset = (key + 112)/12;
for (i = 4; i < strInput.Length; i++)
{
int thisCharCode = strInput[i];
char newCharCode = (char)(thisCharCode - intOffset);
strOutput.Append(newCharCode);
}
return strOutput.ToString();
}
目前,它输出以下:
(int key = 212, string data = "U0lra36DfImFkImOkImCW4OKj4h8hIdJfoqI")
Output = {c¬a¬¬¬¬¬¬¬¬@¬¬¬¬a¬¬.c¬¬}
(int key = -88, string data = "T1RXYmV0cHFkZ3R1MzQ1Ng==")
Output = {crnobers1234}
哪个输出正确,哪个不正确?带有否定键的人是否正确?第一个例子的输入数据看起来不正确。什么是原始的未编码字符串? – 2010-11-26 03:36:46
这是一个可用的javascript版本:http://bypass.rd.to/decoder.php – E3pO 2010-11-26 03:40:49