- 论坛徽章:
- 0
|
- <%
- mainKey = "u67(%#@d^J(>;HTtdi"
- 'keyGeN 加密长度暂时为 8
- Function XOR_ENS(Source, Key) '加密函数
- Dim i, iKey, iKeyLen
- Dim SSA, SSB, SSS
- Dim XOR_STR_A
- Select Case Len(Source)
- Case 1
- Source = Source & Chr(32) & Chr(32) & Chr(32) & Chr(32)
- Case 2
- Source = Source & Chr(32) & Chr(32) & Chr(32)
- Case 3
- Source = Source & Chr(32) & Chr(32)
- Case 4
- Source = Source & Chr(32)
- End Select
- XOR_STR_A = ""
- iKeyLen = Len(Key)
- iKey = 1
- 'Source = StrConv(Source, vbFromUnicode)
- For i = 1 To LenB(Source)
- SSA = CInt(AscB(MidB(Source, i, 1)))
- SSB = CInt(Asc(Mid(Key, iKey, 1)))
- iKey = iKey + 1
- If iKey >; iKeyLen Then
- iKey = 1
- End If
- SSS = SSA Xor SSB
- XOR_STR_A = XOR_STR_A & Right("0" & Hex(SSS), 2)
- Next
- XOR_ENS = XOR_STR_A
- XOR_ENS = Replace(XOR_ENS, "1", "*")
- XOR_ENS = Replace(XOR_ENS, "9", "1")
- XOR_ENS = Replace(XOR_ENS, "*", "9")
- XOR_ENS = Replace(XOR_ENS, "8", "#")
- XOR_ENS = Replace(XOR_ENS, "2", "8")
- XOR_ENS = Replace(XOR_ENS, "#", "2")
- XOR_ENS = Replace(XOR_ENS, "4", "#")
- XOR_ENS = Replace(XOR_ENS, "7", "4")
- XOR_ENS = Replace(XOR_ENS, "#", "7")
- XOR_ENS = Replace(XOR_ENS, "3", "#")
- XOR_ENS = Replace(XOR_ENS, "6", "3")
- XOR_ENS = Replace(XOR_ENS, "#", "6")
- XOR_ENS = Replace(XOR_ENS, "D", "#")
- XOR_ENS = Replace(XOR_ENS, "F", "D")
- XOR_ENS = Replace(XOR_ENS, "#", "F")
- XOR_ENS = Replace(XOR_ENS, "A", "#")
- XOR_ENS = Replace(XOR_ENS, "B", "A")
- XOR_ENS = Replace(XOR_ENS, "#", "B")
- End Function
- Function XOR_DES(Source, Key) ' 解密函数
- Dim i, iKey, iKeyLen
- Dim SSA, SSB, SSS
- Dim XOR_STR_A
- XOR_STR_A = ""
- iKeyLen = Len(Key)
- iKey = 1
- XOR_STR_A = ""
- Source = Replace(Source, "1", "*")
- Source = Replace(Source, "9", "1")
- Source = Replace(Source, "*", "9")
- Source = Replace(Source, "8", "#")
- Source = Replace(Source, "2", "8")
- Source = Replace(Source, "#", "2")
- Source = Replace(Source, "4", "#")
- Source = Replace(Source, "7", "4")
- Source = Replace(Source, "#", "7")
- Source = Replace(Source, "3", "#")
- Source = Replace(Source, "6", "3")
- Source = Replace(Source, "#", "6")
- Source = Replace(Source, "D", "#")
- Source = Replace(Source, "F", "D")
- Source = Replace(Source, "#", "F")
- Source = Replace(Source, "A", "#")
- Source = Replace(Source, "B", "A")
- Source = Replace(Source, "#", "B")
-
- For i = 1 To Len(Source) Step 2
- SSA = CInt("&H" & (Mid(Source, i, 2)))
- SSB = (Asc(Mid(Key, iKey, 1)))
- iKey = iKey + 1
- If iKey >; iKeyLen Then
- iKey = 1
- End If
- SSS = SSA Xor SSB
- XOR_STR_A = XOR_STR_A & ChrB(SSS)
- Next
- ' XOR_DES = StrConv(XOR_STR_A, vbUnicode)
- ' XOR_DES = replace(XOR_STR_A,vbcrlf,"",lenB(XOR_STR_A)-4)
- xor_des=trim(XOR_STR_A)
- xor_des=cstr(xor_des)
- End Function
- '产生密钥算法
- Function KeyGeN(iKeyLength)
- Dim k, iCount, strMyKey
- lowerbound = 35
- upperbound = 96
- Randomize
- For i = 1 To iKeyLength
- k = Int(((upperbound - lowerbound) + 1) * Rnd + lowerbound)
- strMyKey = strMyKey & Chr(k) & ""
- Next
- KeyGeN = strMyKey
- End Function
- %>;
复制代码
我想把这几个ASP函数转为PHP的加密解密,有没有办法? |
|