- 主题
- 0
- 积分
- 854
- 贝壳
- 854 个
- 性别
- 男
- 来自
- 贵州遵义
- 注册时间
- 2005-3-26
- 最后登录
- 2011-2-26
|
[分享] Base64加密与解密代码FOR VBSCRIPT
- <%
- Dim Base64Chars
- Base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
- ' Functions for encoding string to Base64
- Public Function base64_encode(byVal strIn)
- Dim c1, c2, c3, w1, w2, w3, w4, n, strOut
- For n = 1 To Len(strIn) Step 3
- c1 = Asc(Mid(strIn, n, 1))
- c2 = Asc(Mid(strIn, n + 1, 1) + Chr(0))
- c3 = Asc(Mid(strIn, n + 2, 1) + Chr(0))
- w1 = Int(c1 / 4) : w2 = (c1 And 3) * 16 + Int(c2 / 16)
- If Len(strIn) >= n + 1 Then
- w3 = (c2 And 15) * 4 + Int(c3 / 64)
- Else
- w3 = -1
- End If
- If Len(strIn) >= n + 2 Then
- w4 = c3 And 63
- Else
- w4 = -1
- End If
- strOut = strOut + mimeencode(w1) + mimeencode(w2) + _
- mimeencode(w3) + mimeencode(w4)
- Next
- base64_encode = strOut
- End Function
- Private Function mimeencode(byVal intIn)
- If intIn >= 0 Then
- mimeencode = Mid(Base64Chars, intIn + 1, 1)
- Else
- mimeencode = ""
- End If
- End Function
- ' Function to decode string from Base64
- Public Function base64_decode(byVal strIn)
- Dim w1, w2, w3, w4, n, strOut
- For n = 1 To Len(strIn) Step 4
- w1 = mimedecode(Mid(strIn, n, 1))
- w2 = mimedecode(Mid(strIn, n + 1, 1))
- w3 = mimedecode(Mid(strIn, n + 2, 1))
- w4 = mimedecode(Mid(strIn, n + 3, 1))
- If w2 >= 0 Then _
- strOut = strOut + _
- Chr(((w1 * 4 + Int(w2 / 16)) And 255))
- If w3 >= 0 Then _
- strOut = strOut + _
- Chr(((w2 * 16 + Int(w3 / 4)) And 255))
- If w4 >= 0 Then _
- strOut = strOut + _
- Chr(((w3 * 64 + w4) And 255))
- Next
- base64_decode = strOut
- End Function
- Private Function mimedecode(byVal strIn)
- If Len(strIn) = 0 Then
- mimedecode = -1 : Exit Function
- Else
- mimedecode = InStr(Base64Chars, strIn) - 1
- End If
- End Function
- %>
复制代码 |
|