返回列表 发帖

[分享] Base64加密与解密代码FOR VBSCRIPT

  1. <%
  2. Dim Base64Chars

  3. Base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

  4. ' Functions for encoding string to Base64
  5. Public Function base64_encode(byVal strIn)
  6.     Dim c1, c2, c3, w1, w2, w3, w4, n, strOut
  7.     For n = 1 To Len(strIn) Step 3
  8.         c1 = Asc(Mid(strIn, n, 1))
  9.         c2 = Asc(Mid(strIn, n + 1, 1) + Chr(0))
  10.         c3 = Asc(Mid(strIn, n + 2, 1) + Chr(0))
  11.         w1 = Int(c1 / 4) : w2 = (c1 And 3) * 16 + Int(c2 / 16)
  12.         If Len(strIn) >= n + 1 Then
  13.             w3 = (c2 And 15) * 4 + Int(c3 / 64)
  14.         Else
  15.             w3 = -1
  16.         End If
  17.         If Len(strIn) >= n + 2 Then
  18.             w4 = c3 And 63
  19.         Else
  20.             w4 = -1
  21.         End If
  22.         strOut = strOut + mimeencode(w1) + mimeencode(w2) + _
  23.                   mimeencode(w3) + mimeencode(w4)
  24.     Next
  25.     base64_encode = strOut
  26. End Function

  27. Private Function mimeencode(byVal intIn)
  28.     If intIn >= 0 Then
  29.         mimeencode = Mid(Base64Chars, intIn + 1, 1)
  30.     Else
  31.         mimeencode = ""
  32.     End If
  33. End Function   


  34. ' Function to decode string from Base64
  35. Public Function base64_decode(byVal strIn)
  36.     Dim w1, w2, w3, w4, n, strOut
  37.     For n = 1 To Len(strIn) Step 4
  38.         w1 = mimedecode(Mid(strIn, n, 1))
  39.         w2 = mimedecode(Mid(strIn, n + 1, 1))
  40.         w3 = mimedecode(Mid(strIn, n + 2, 1))
  41.         w4 = mimedecode(Mid(strIn, n + 3, 1))
  42.         If w2 >= 0 Then _
  43.             strOut = strOut + _
  44.                 Chr(((w1 * 4 + Int(w2 / 16)) And 255))
  45.         If w3 >= 0 Then _
  46.             strOut = strOut + _
  47.                 Chr(((w2 * 16 + Int(w3 / 4)) And 255))
  48.         If w4 >= 0 Then _
  49.             strOut = strOut + _
  50.                 Chr(((w3 * 64 + w4) And 255))
  51.     Next
  52.     base64_decode = strOut
  53. End Function

  54. Private Function mimedecode(byVal strIn)
  55.     If Len(strIn) = 0 Then
  56.         mimedecode = -1 : Exit Function
  57.     Else
  58.         mimedecode = InStr(Base64Chars, strIn) - 1
  59.     End If
  60. End Function
  61. %>
复制代码
天行健,君子以自强不息
地势坤,君子以厚德载物
黑色海岸线欢迎您

QQ群:7212260
致力于探索WEB技术精髓:http://www.bitechcn.com
点这里加我!

返回列表 回复 发帖