Classic ASP中的简单加密/解密功能

时间:2010-08-09 21:17:21

标签: asp-classic encryption

Classic ASP中是否有简单的加密/解密功能?

需要加密和解密的数据不是超级敏感的。这么简单的功能就行了。

3 个答案:

答案 0 :(得分:4)

4guysfromrolla.com:RC4 Encryption Using ASP & VBScript

请参阅页面末尾的附件。

页面布局看起来有点不合适,但所有信息都在那里。我通过bowser开发工具删除DOM中的代码块,使其可读。

答案 1 :(得分:0)

试试这个:

' Encrypt and decrypt functions for classic ASP (by TFI)

'********* set a random string with random length ***********
cryptkey = "GNQ?4i0-*\CldnU+[vrF1j1PcWeJfVv4QGBurFK6}*l[H1S:oY\v@U?i,oD]f/n8oFk6NesH--^PJeCLdp+(t8SVe:ewY(wR9p-CzG<,Q/(U*.pXDiz/KvnXP`BXnkgfeycb)1A4XKAa-2G}74Z8CqZ*A0P8E[S`6RfLwW+Pc}13U}_y0bfscJ<vkA[JC;0mEEuY4Q,([U*XRR}lYTE7A(O8KiF8>W/m1D*YoAlkBK@`3A)trZsO5xv@5@MRRFkt\"

'**************************** ENCRYPT FUNCTION ******************************

'*** Note: bytes 255 and 0 are converted into the same character, in order to
'*** avoid a char 0 which would terminate the string

function encrypt(inputstr)
        Dim i,x
        outputstr=""
        cc=0
        for i=1 to len(inputstr)
                x=asc(mid(inputstr,i,1))
                x=x-48
                if x<0 then x=x+255
                x=x+asc(mid(cryptkey,cc+1,1))
                if x>255 then x=x-255
                outputstr=outputstr&chr(x)
                cc=(cc+1) mod len(cryptkey)
        next
        encrypt=server.urlencode(replace(outputstr,"%","%25"))
end function

'**************************** DECRYPT FUNCTION ******************************

function decrypt(byval inputstr)
        Dim i,x
        inputstr=urldecode(inputstr)
        outputstr=""
        cc=0
        for i=1 to len(inputstr)
                x=asc(mid(inputstr,i,1))
                x=x-asc(mid(cryptkey,cc+1,1))
                if x<0 then x=x+255
                x=x+48
                if x>255 then x=x-255
                outputstr=outputstr&chr(x)
                cc=(cc+1) mod len(cryptkey)
        next
        decrypt=outputstr
end function

'****************************************************************************

Function URLDecode(sConvert)
  Dim aSplit
  Dim sOutput
  Dim I
  If IsNull(sConvert) Then
         URLDecode = ""
         Exit Function
  End If
  'sOutput = REPLACE(sConvert, "+", " ") ' convert all pluses to spaces
  sOutput=sConvert
  aSplit = Split(sOutput, "%") ' next convert %hexdigits to the character
  If IsArray(aSplit) Then
        sOutput = aSplit(0)
        For I = 0 to UBound(aSplit) - 1
          sOutput = sOutput &  Chr("&H" & Left(aSplit(i + 1), 2)) & Right(aSplit(i + 1), Len(aSplit(i + 1)) - 2)
        Next
  End If
  URLDecode = sOutput
End Function

答案 2 :(得分:0)

我知道 BrokenLink 有点晚了,但为了记录和其他像我一样正在寻找相同的人。

我发现了这个 https://www.example-code.com/vbscript/crypt_aes_encrypt_file.asp

它需要在 WindowsServer 上安装一个 chilkat ActiveX 组件。但是这种不方便在查看资源和处理时间时变得很方便。

它非常易于使用,并且给出的示例非常清楚。要使其成为您自己的,只需更改“keyHex”变量值即可。