帮助将一些经典的asp代码转换为c#(。net 3.5)

时间:2010-12-25 02:52:18

标签: c# asp-classic

我在.asp文件中有这个代码块,我正在努力转换为c#...任何人都可以帮助我吗?

Function EncodeCPT(ByVal sPinCode, ByVal iOfferCode, ByVal sShortKey, ByVal sLongKey)
    Dim vob(2), encodeModulo(256), decodeX, ocode
    decodeX = " abcdefghijklmnopqrstuvwxyz0123456789!$%()*+,-.@;<=>?[]^_{|}~"
    if len(iOfferCode) = 5 then
        ocode = iOfferCode Mod 10000
    else
        ocode = iOfferCode
    end if
    vob(1) = ocode Mod 100
    vob(0) = Int((ocode-vob(1)) / 100)
    For i = 1 To 256
        encodeModulo(i) = 0
    Next
    For i = 0 To 60
        encodeModulo(asc(mid(decodeX, i + 1, 1))) = i
    Next
    'append offer code to key
    sPinCode = lcase(sPinCode) & iOfferCode
    If Len(sPinCode) < 20 Then
        sPinCode = Left(sPinCode & " couponsincproduction", 20)
    End If
    'encode
    Dim i, q, j, k, sCPT, s1, s2, s3
    i = 0
    q = 0
    j = Len(sPinCode)
    k = Len(sShortKey)
    sCPT = ""
    For i = 1 To j
        s1 = encodeModulo(asc( mid(sPinCode, i, 1)) )
        s2 = 2 * encodeModulo( asc( mid(sShortKey, 1 + ((i - 1) Mod k), 1) ) )
        s3 = vob(i Mod 2)
        q = (q + s1 + s2 + s3) Mod 61
        sCPT = sCPT & mid(sLongKey, q + 1, 1)
    Next
    EncodeCPT = sCPT
End Function

1 个答案:

答案 0 :(得分:1)

你在这里看到的似乎是非常标准的VBScript代码。

也许您可以查看一些C#教程来获取基础知识,或者可能选择VB.NET而不是C#。

语法与VBScript几乎相同,但请记住,.NET框架是面向对象的,因此某些特性或功能的实现方式不同。

例如,如果要获取字符串的长度,则使用myString.Length而不是Len(myString)。

以下是一些C#和VB.NET教程供您查看。

http://www.csharp-station.com/Tutorial.aspx

http://www.csharpkey.com/csharp/Lesson01.htm

http://www.programmersheaven.com/2/VB-NET-School

http://www.homeandlearn.co.uk/net/vbnet.html