代码之家  ›  专栏  ›  技术社区  ›  AnonJr

Crockford base32编码的经典ASP/VBScript实现

  •  0
  • AnonJr  · 技术社区  · 16 年前

    往前走 the first part of my problem ,我现在正在尝试编写的经典ASP/VBScript实现 Douglas Crockford's Base32 Encoding .

    在这个特定的项目上时间是很紧的,所以当我自己解决这个问题的时候,我希望有人能随时掌握一些东西(或者至少能比我更快地完成一个)。

    1 回复  |  直到 14 年前
        1
  •  0
  •   AnonJr    16 年前

    第一次跑步…这看起来是对的吗?

    'Base32 encoding functions for shorter, less confusing verification numbers'
    Const kBase32Digits = "0123456789abcdefghjkmnpqrstvwxyz"
    'To Base32'
    Function ToBase32(ByVal lInput)
        Dim lModulo, sTemp
        Do Until lInput = 0
            lModulo = lInput Mod 32
            sTemp = Mid(kBase32Digits, lModulo + 1, 1) & sTemp
            lInput = lInput \ 32
        Loop
        ToBase32 = sTemp
    End Function
    'From Base32'
    Function FromBase32(ByVal sInput)
        Dim sTemp, sR, i,iY,lLen, zMultiplier
        sTemp = LCase(sInput)
        sTemp = Replace(sTemp,"o","0")
        sTemp = Replace(sTemp,"i","1")
        sTemp = Replace(sTemp,"l","1")
        sTemp = Replace(sTemp,"u","v")
        zMultiplier = 1
        lLen = Len(sTemp)
        For i = lLen To 1 Step -1
            sR = Mid(sTemp, i, 1)
            iY = InStr(1, kBase32Digits, sR, vbTextCompare) - 1
            FromBase32 = FromBase32 + iY * zMultiplier
            zMultiplier = zMultiplier * 32
        Next
    End Function
    

    编辑: 到目前为止似乎工作得很好…除非有人发更好的东西,否则我会同意的。

    推荐文章