翻译一下asp代码

来源:百度知道 编辑:UC知道 时间:2024/06/08 22:20:14
Function YK2006(CharString)
On Error resume next
Dim X , i
Dim CharNum , RandomInteger
Dim CharSingle
Dim Key
Key = 5
YK2006 = ""
If Len(CharString) = 0 Then
YK2006= ""
Exit Function
End If
X = Rnd(-Key)
For i = 1 To Len(CharString)
CharSingle = Mid(CharString, i, 1)
CharNum = Asc(CharSingle)
RandomInteger = Int(512 * Rnd) And &H7F
CharNum = CharNum Xor RandomInteger
CharSingle = Chr(CharNum)
YK2006= YK2006 + CharSingle
Next
Exit Function
YK2006 = CharString
End Function
<%
dim Encrypt_domain,Encrypt_code1,Encrypt_code2
Encrypt_domain=""
Encrypt_Code1="E9549334994F"
Encrypt_Code2="F6D6025EFE95"
%> 这是用什么加密的

这是VBS写的自定义函数,不是ASP!!!!简单给你注释吧

Function YK2006(CharString) //定义函数名,并带有形参
On Error resume next //遇到错误继续执行
Dim X , i //声明两个变量
Dim CharNum , RandomInteger //同上
Dim CharSingle //同上
Dim Key //同上
Key = 5 //赋值给KEY变量
YK2006 = "" //赋空串给YK2006
If Len(CharString) = 0 Then //判断形参是否为0长度的空串
YK2006= "" //如果是,则YK2006为空串
Exit Function //结束函数
End If //结束IF判断
X = Rnd(-Key) //在KEY的负值中随机生成函数
For i = 1 To Len(CharString) //做循环,从1循环到形参字串长度次
CharSingle = Mid(CharString, i, 1) //从形参中的第I位提取1个字符,并赋值给CHARSINGLE
CharNum = Asc(CharSingle) //将CHARSINGLE的字符转换为ASC码,并赋值给CHARNUM
RandomInteger = Int(512 * Rnd) And &H7F // 应该是位移操作吧,不大明白这句的用意!貌似是左位移!!!涉及到API,对这方面不太明白!
CharNum = CharNum Xor RandomInteger //对=右边进行异或运算并赋值给CHARNUM
CharSingle = Chr(CharNum) //返回charnum为ANSI字符,并赋值给CHARSINGLE
YK2006= YK2006 + CharSingle //用YK2006+上CHARSINGLE成为新的字串,并赋值给YK2006
Next //继续循环
Exit Function //退出函