var xor_str = function(cipherurl,cipherkey)
{
var i = 0, url = '',
keylen = cipherkey.length,
urllen = cipherurl.length;
for(;i < urllen;i++){
var ch = cipherurl.charCodeAt(i) ^ cipherkey.charCodeAt(i%keylen);
url += String.fromCharCode(ch);
}
return url;
};
//声明:我其实也不懂Java,以下代码仅作参考、仅作参考!
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 xor_str, 文本型
.局部变量 cipherkey, xor_str
.局部变量 cipherurl, xor_str
cipherkey.length = 取文本长度 (“key”)
重定义数组 (cipherkey.charCodeAt, 假, cipherkey.length)
chartobytes (cipherkey.charCodeAt, 到字节集 (“key”))
cipherurl.length = 取文本长度 (“url”)
重定义数组 (cipherurl.charCodeAt, 假, cipherurl.length)
chartobytes (cipherurl.charCodeAt, 到字节集 (“url”))
' xor_str = 子程序1 (cipherkey, cipherurl)
' 输出调试文本 (xor_str)
.子程序 chartobytes, 逻辑型
.参数 charCodeAt, 字节型, 数组
.参数 charbin, 字节集
.局部变量 i, 整数型
.如果真 (取字节集长度 (charbin) ≠ 取数组成员数 (charCodeAt))
返回 (假)
.如果真结束
.计次循环首 (取数组成员数 (charCodeAt), i)
charCodeAt [i] = charbin [i]
.计次循环尾 ()
返回 (真)
.子程序 子程序1, 文本型
.参数 cipherkey, xor_str
.参数 cipherurl, xor_str
.局部变量 i
.局部变量 url, 文本型
.局部变量 keylen, 整数型
.局部变量 urllen, 整数型
.局部变量 ch, 字节型
i = 0
url = “”
keylen = cipherkey.length
urllen = cipherurl.length
.判断循环首 (i < urllen)
i = i + 1
ch = 位异或 (cipherurl.charCodeAt [i], cipherkey.charCodeAt [i % keylen])
url = url + 字符 (ch)
.判断循环尾 ()
返回 (url)
.版本 2
.数据类型 xor_str
.成员 length, 整数型
.成员 charCodeAt, 字节型, , "1"