asp 一些支付接口

2019-01-13 07:07:04王振洲

        lMessageLength = LenB(sMessage)

        lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) ASP_BITS_TO_A_BYTE)) (MODULUS_BITS ASP_BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS ASP_BITS_TO_A_WORD)
        ReDim lWordArray(lNumberOfWords - 1)

        lBytePosition = 0
        lByteCount = 0
        Do Until lByteCount >= lMessageLength
            lWordCount = lByteCount ASP_BYTES_TO_A_WORD
            lBytePosition = (lByteCount Mod ASP_BYTES_TO_A_WORD) * ASP_BITS_TO_A_BYTE
            lWordArray(lWordCount) = lWordArray(lWordCount) Or ASP_LShift(AscB(MidB(sMessage, lByteCount + 1, 1)), lBytePosition)
            lByteCount = lByteCount + 1
        Loop

        lWordCount = lByteCount ASP_BYTES_TO_A_WORD
        lBytePosition = (lByteCount Mod ASP_BYTES_TO_A_WORD) * ASP_BITS_TO_A_BYTE

        lWordArray(lWordCount) = lWordArray(lWordCount) Or ASP_LShift(&H80, lBytePosition)

        lWordArray(lNumberOfWords - 2) = ASP_LShift(lMessageLength, 3)
        lWordArray(lNumberOfWords - 1) = ASP_RShift(lMessageLength, 29)

        ASP_ConvertToWordArray = lWordArray
    End Function

    Private Function ASP_WordToHex(lValue)
        Dim lByte
        Dim lCount

        For lCount = 0 To 3
            lByte = ASP_RShift(lValue, lCount * ASP_BITS_TO_A_BYTE) And ASP_m_lOnBits(ASP_BITS_TO_A_BYTE - 1)
            ASP_WordToHex = ASP_WordToHex & Right("0" & Hex(lByte), 2)
        Next
    End Function

    Public Function ASP_MD5(sMessage)
        ASP_m_lOnBits(0) = CLng(1)
        ASP_m_lOnBits(1) = CLng(3)
        ASP_m_lOnBits(2) = CLng(7)
        ASP_m_lOnBits(3) = CLng(15)
        ASP_m_lOnBits(4) = CLng(31)
        ASP_m_lOnBits(5) = CLng(63)
        ASP_m_lOnBits(6) = CLng(127)
        ASP_m_lOnBits(7) = CLng(255)
        ASP_m_lOnBits(8) = CLng(511)
        ASP_m_lOnBits(9) = CLng(1023)
        ASP_m_lOnBits(10) = CLng(2047)
        ASP_m_lOnBits(11) = CLng(4095)
        ASP_m_lOnBits(12) = CLng(8191)
        ASP_m_lOnBits(13) = CLng(16383)
        ASP_m_lOnBits(14) = CLng(32767)
        ASP_m_lOnBits(15) = CLng(65535)
        ASP_m_lOnBits(16) = CLng(131071)
        ASP_m_lOnBits(17) = CLng(262143)
        ASP_m_lOnBits(18) = CLng(524287)
        ASP_m_lOnBits(19) = CLng(1048575)
        ASP_m_lOnBits(20) = CLng(2097151)
        ASP_m_lOnBits(21) = CLng(4194303)
        ASP_m_lOnBits(22) = CLng(8388607)
        ASP_m_lOnBits(23) = CLng(16777215)
        ASP_m_lOnBits(24) = CLng(33554431)
        ASP_m_lOnBits(25) = CLng(67108863)
        ASP_m_lOnBits(26) = CLng(134217727)
        ASP_m_lOnBits(27) = CLng(268435455)
        ASP_m_lOnBits(28) = CLng(536870911)
        ASP_m_lOnBits(29) = CLng(1073741823)
        ASP_m_lOnBits(30) = CLng(2147483647)