zoukankan      html  css  js  c++  java
  • RC4 加密算法asp版

     1 Function RC4(data, Key)
     2     Dim s(256), k(256), outstr, Acii, j, tst, xre1, xre2, temp, x, t, y, qwe, zxc
     3     For i = 1 To 256
     4         s(i) = i - 1
     5     Next
     6     j = 1
     7     For i = 1 To 256
     8         dex = dex + 1
     9         If j > Len(Key) Then
    10             j = 1
    11         End If
    12         Acii = Asc(Mid(Key, j, 1))
    13         If Acii < 0 Then
    14             tst = Hex(Acii)
    15             xre1 = Mid(tst, 1, 2)
    16             xre2 = Mid(tst, 3, 2)
    17             k(i) = Int("&H" & xre1)
    18             k(i + 1) = Int("&H" & xre2)
    19             i = i + 1
    20         Else
    21             k(i) = Acii
    22         End If
    23         j = j + 1
    24     Next
    25     j = 0
    26     For i = 1 To 256
    27         j = (j + s(i) + k(i)) Mod 256 + 1
    28         temp = s(i)
    29         s(i) = s(j)
    30         s(j) = temp
    31     Next
    32     j = 0
    33     For i = 1 To Len(data)
    34         x = (x + 1) Mod 256 + 1
    35         j = (j + s(x)) Mod 256 + 1
    36         temp = s(x)
    37         s(x) = s(j)
    38         s(j) = temp
    39         t = (s(x) + s(j) Mod 256) Mod 256 + 1
    40         y = s(t)
    41         Acii = Asc(Mid(data, i, 1))
    42         If Acii < 0 Then
    43             tst = Hex(Acii)
    44             qwe = qwe + 1
    45             If qwe >= 2 Then
    46                 zxc = Int("&H" & Mid(tst, 3, 2))
    47                 qwe = 0
    48             Else
    49                 zxc = Int("&H" & Mid(tst, 1, 2))
    50                 i = i -1
    51             End If
    52         Else
    53             zxc = Acii
    54         End If
    55         outstr = outstr & Bitsor(zxc, y)
    56     Next
    57     RC4 = outstr
    58 End Function
    59 
    60 Function Bitsor(x, y)
    61     Dim Mx, Hx, Wx
    62     Mx = 0
    63     Hx = 0
    64     Wx = 0
    65     Mx = x And y
    66     Mx = Mx * 2
    67     Hx = Hex(X + y - Mx)
    68     If Len(Hx) > 1 Then
    69         Wx = Hx
    70     Else
    71         Wx = "0" & Hx
    72     End If
    73     Bitsor = Wx
    74 End Function
  • 相关阅读:
    Elastic Search(一)
    嵌入式jetty
    mybatis中的#{}和${}的区别
    拦截器和过滤器的区别
    springboot对拦截器的支持
    Springboot对filter的使用
    springboot对监听器Listener的使用
    随机数的基本概念
    hashset和treeset区别
    java中常见的api方法记录
  • 原文地址:https://www.cnblogs.com/xewnwsl2001/p/3618651.html
Copyright © 2011-2022 走看看