⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md5.aspx.vb

📁 本程序修改自飞天BBS 7.0 将原来的ASP语法迁移为ASP.NET并封装成DLL ASP.NET相对ASP有更快的执行效率以及更高的并发访问量 基于ASP.NET的DLL可以运行在支持ASP
💻 VB
📖 第 1 页 / 共 2 页
字号:
    Dim lWordCount
    Const MODULUS_BITS = 512
    Const CONGRUENT_BITS = 448
    lMessageLength = AspToAspX_Len ( sMessage ) '122
    lNumberOfWords = ( ( ( lMessageLength + ( ( MODULUS_BITS - CONGRUENT_BITS ) \ BITS_TO_A_BYTE ) ) \ ( MODULUS_BITS \ BITS_TO_A_BYTE ) ) + 1 ) * ( MODULUS_BITS \ BITS_TO_A_WORD ) '124
    ReDim lWordArray ( lNumberOfWords - 1 ) '125
    lBytePosition = 0 '127
    lByteCount = 0 '128
    Do Until lByteCount > = lMessageLength '129
        lWordCount = lByteCount \ BYTES_TO_A_WORD '130
        lBytePosition = ( lByteCount Mod BYTES_TO_A_WORD ) * BITS_TO_A_BYTE '131
        lWordArray ( lWordCount ) = lWordArray ( lWordCount ) Or LShift ( Asc ( Mid ( sMessage , lByteCount + 1 , 1 ) ) , lBytePosition ) '132
        lByteCount = lByteCount + 1 '133
    Loop '134
    lWordCount = lByteCount \ BYTES_TO_A_WORD '135
    lBytePosition = ( lByteCount Mod BYTES_TO_A_WORD ) * BITS_TO_A_BYTE '136
    lWordArray ( lWordCount ) = lWordArray ( lWordCount ) Or LShift ( &H80 , lBytePosition ) '137
    lWordArray ( lNumberOfWords - 2 ) = LShift ( lMessageLength , 3 ) '138
    lWordArray ( lNumberOfWords - 1 ) = RShift ( lMessageLength , 29 ) '139
    ConvertToWordArray = lWordArray '141
    Exit Function
_AspToAspX_Err:
    AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\INC\MD5.ASP ConvertToWordArray:" & Err.Description)
    Resume Next
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\INC\MD5.ASP
Public Function WordToHex(ByRef  lValue )
On Error GoTo _AspToAspX_Err
    Dim lByte
    Dim lCount
    For lCount = 0 To 3 '147
        lByte = RShift ( lValue , lCount * BITS_TO_A_BYTE ) And m_lOnBits ( BITS_TO_A_BYTE - 1 ) '148
        WordToHex = WordToHex & Right ( "0" & Hex ( lByte ) , 2 ) '149
    Next '150
    Exit Function
_AspToAspX_Err:
    AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\INC\MD5.ASP WordToHex:" & Err.Description)
    Resume Next
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\INC\MD5.ASP
Public Function MD5(ByRef  sMessage )
On Error GoTo _AspToAspX_Err
    Dim x
    Dim k
    Dim AA
    Dim BB
    Dim CC
    Dim DD
    Dim a
    Dim b
    Dim c
    Dim d
    Const S11 = 7
    Const S12 = 12
    Const S13 = 17
    Const S14 = 22
    Const S21 = 5
    Const S22 = 9
    Const S23 = 14
    Const S24 = 20
    Const S31 = 4
    Const S32 = 11
    Const S33 = 16
    Const S34 = 23
    Const S41 = 6
    Const S42 = 10
    Const S43 = 15
    Const S44 = 21
    m_lOnBits ( 0 ) = AspToAspX_CInt ( 1 ) '153
    m_lOnBits ( 1 ) = AspToAspX_CInt ( 3 ) '154
    m_lOnBits ( 2 ) = AspToAspX_CInt ( 7 ) '155
    m_lOnBits ( 3 ) = AspToAspX_CInt ( 15 ) '156
    m_lOnBits ( 4 ) = AspToAspX_CInt ( 31 ) '157
    m_lOnBits ( 5 ) = AspToAspX_CInt ( 63 ) '158
    m_lOnBits ( 6 ) = AspToAspX_CInt ( 127 ) '159
    m_lOnBits ( 7 ) = AspToAspX_CInt ( 255 ) '160
    m_lOnBits ( 8 ) = AspToAspX_CInt ( 511 ) '161
    m_lOnBits ( 9 ) = AspToAspX_CInt ( 1023 ) '162
    m_lOnBits ( 10 ) = AspToAspX_CInt ( 2047 ) '163
    m_lOnBits ( 11 ) = AspToAspX_CInt ( 4095 ) '164
    m_lOnBits ( 12 ) = AspToAspX_CInt ( 8191 ) '165
    m_lOnBits ( 13 ) = AspToAspX_CInt ( 16383 ) '166
    m_lOnBits ( 14 ) = AspToAspX_CInt ( 32767 ) '167
    m_lOnBits ( 15 ) = AspToAspX_CInt ( 65535 ) '168
    m_lOnBits ( 16 ) = AspToAspX_CInt ( 131071 ) '169
    m_lOnBits ( 17 ) = AspToAspX_CInt ( 262143 ) '170
    m_lOnBits ( 18 ) = AspToAspX_CInt ( 524287 ) '171
    m_lOnBits ( 19 ) = AspToAspX_CInt ( 1048575 ) '172
    m_lOnBits ( 20 ) = AspToAspX_CInt ( 2097151 ) '173
    m_lOnBits ( 21 ) = AspToAspX_CInt ( 4194303 ) '174
    m_lOnBits ( 22 ) = AspToAspX_CInt ( 8388607 ) '175
    m_lOnBits ( 23 ) = AspToAspX_CInt ( 16777215 ) '176
    m_lOnBits ( 24 ) = AspToAspX_CInt ( 33554431 ) '177
    m_lOnBits ( 25 ) = AspToAspX_CInt ( 67108863 ) '178
    m_lOnBits ( 26 ) = AspToAspX_CInt ( 134217727 ) '179
    m_lOnBits ( 27 ) = AspToAspX_CInt ( 268435455 ) '180
    m_lOnBits ( 28 ) = AspToAspX_CInt ( 536870911 ) '181
    m_lOnBits ( 29 ) = AspToAspX_CInt ( 1073741823 ) '182
    m_lOnBits ( 30 ) = AspToAspX_CInt ( 2147483647 ) '183
    m_l2Power ( 0 ) = AspToAspX_CInt ( 1 ) '185
    m_l2Power ( 1 ) = AspToAspX_CInt ( 2 ) '186
    m_l2Power ( 2 ) = AspToAspX_CInt ( 4 ) '187
    m_l2Power ( 3 ) = AspToAspX_CInt ( 8 ) '188
    m_l2Power ( 4 ) = AspToAspX_CInt ( 16 ) '189
    m_l2Power ( 5 ) = AspToAspX_CInt ( 32 ) '190
    m_l2Power ( 6 ) = AspToAspX_CInt ( 64 ) '191
    m_l2Power ( 7 ) = AspToAspX_CInt ( 128 ) '192
    m_l2Power ( 8 ) = AspToAspX_CInt ( 256 ) '193
    m_l2Power ( 9 ) = AspToAspX_CInt ( 512 ) '194
    m_l2Power ( 10 ) = AspToAspX_CInt ( 1024 ) '195
    m_l2Power ( 11 ) = AspToAspX_CInt ( 2048 ) '196
    m_l2Power ( 12 ) = AspToAspX_CInt ( 4096 ) '197
    m_l2Power ( 13 ) = AspToAspX_CInt ( 8192 ) '198
    m_l2Power ( 14 ) = AspToAspX_CInt ( 16384 ) '199
    m_l2Power ( 15 ) = AspToAspX_CInt ( 32768 ) '200
    m_l2Power ( 16 ) = AspToAspX_CInt ( 65536 ) '201
    m_l2Power ( 17 ) = AspToAspX_CInt ( 131072 ) '202
    m_l2Power ( 18 ) = AspToAspX_CInt ( 262144 ) '203
    m_l2Power ( 19 ) = AspToAspX_CInt ( 524288 ) '204
    m_l2Power ( 20 ) = AspToAspX_CInt ( 1048576 ) '205
    m_l2Power ( 21 ) = AspToAspX_CInt ( 2097152 ) '206
    m_l2Power ( 22 ) = AspToAspX_CInt ( 4194304 ) '207
    m_l2Power ( 23 ) = AspToAspX_CInt ( 8388608 ) '208
    m_l2Power ( 24 ) = AspToAspX_CInt ( 16777216 ) '209
    m_l2Power ( 25 ) = AspToAspX_CInt ( 33554432 ) '210
    m_l2Power ( 26 ) = AspToAspX_CInt ( 67108864 ) '211
    m_l2Power ( 27 ) = AspToAspX_CInt ( 134217728 ) '212
    m_l2Power ( 28 ) = AspToAspX_CInt ( 268435456 ) '213
    m_l2Power ( 29 ) = AspToAspX_CInt ( 536870912 ) '214
    m_l2Power ( 30 ) = AspToAspX_CInt ( 1073741824 ) '215
    x = ConvertToWordArray ( sMessage ) '243
    a = &H67452301 '245
    b = &HEFCDAB89 '246
    c = &H98BADCFE '247
    d = &H10325476 '248
    For k = 0 To Val ( UBound ( x ) ) Step 16 '249
        AA = a '250
        BB = b '251
        CC = c '252
        DD = d '253
        md5_FF ( a , b , c , d , x ( k + 0 ) , S11 , &HD76AA478 ) '255
        md5_FF ( d , a , b , c , x ( k + 1 ) , S12 , &HE8C7B756 ) '256
        md5_FF ( c , d , a , b , x ( k + 2 ) , S13 , &H242070DB ) '257
        md5_FF ( b , c , d , a , x ( k + 3 ) , S14 , &HC1BDCEEE ) '258
        md5_FF ( a , b , c , d , x ( k + 4 ) , S11 , &HF57C0FAF ) '259
        md5_FF ( d , a , b , c , x ( k + 5 ) , S12 , &H4787C62A ) '260
        md5_FF ( c , d , a , b , x ( k + 6 ) , S13 , &HA8304613 ) '261
        md5_FF ( b , c , d , a , x ( k + 7 ) , S14 , &HFD469501 ) '262
        md5_FF ( a , b , c , d , x ( k + 8 ) , S11 , &H698098D8 ) '263
        md5_FF ( d , a , b , c , x ( k + 9 ) , S12 , &H8B44F7AF ) '264
        md5_FF ( c , d , a , b , x ( k + 10 ) , S13 , &HFFFF5BB1 ) '265
        md5_FF ( b , c , d , a , x ( k + 11 ) , S14 , &H895CD7BE ) '266
        md5_FF ( a , b , c , d , x ( k + 12 ) , S11 , &H6B901122 ) '267
        md5_FF ( d , a , b , c , x ( k + 13 ) , S12 , &HFD987193 ) '268
        md5_FF ( c , d , a , b , x ( k + 14 ) , S13 , &HA679438E ) '269
        md5_FF ( b , c , d , a , x ( k + 15 ) , S14 , &H49B40821 ) '270
        md5_GG ( a , b , c , d , x ( k + 1 ) , S21 , &HF61E2562 ) '272
        md5_GG ( d , a , b , c , x ( k + 6 ) , S22 , &HC040B340 ) '273
        md5_GG ( c , d , a , b , x ( k + 11 ) , S23 , &H265E5A51 ) '274
        md5_GG ( b , c , d , a , x ( k + 0 ) , S24 , &HE9B6C7AA ) '275
        md5_GG ( a , b , c , d , x ( k + 5 ) , S21 , &HD62F105D ) '276
        md5_GG ( d , a , b , c , x ( k + 10 ) , S22 , &H2441453 ) '277
        md5_GG ( c , d , a , b , x ( k + 15 ) , S23 , &HD8A1E681 ) '278
        md5_GG ( b , c , d , a , x ( k + 4 ) , S24 , &HE7D3FBC8 ) '279
        md5_GG ( a , b , c , d , x ( k + 9 ) , S21 , &H21E1CDE6 ) '280
        md5_GG ( d , a , b , c , x ( k + 14 ) , S22 , &HC33707D6 ) '281
        md5_GG ( c , d , a , b , x ( k + 3 ) , S23 , &HF4D50D87 ) '282
        md5_GG ( b , c , d , a , x ( k + 8 ) , S24 , &H455A14ED ) '283
        md5_GG ( a , b , c , d , x ( k + 13 ) , S21 , &HA9E3E905 ) '284
        md5_GG ( d , a , b , c , x ( k + 2 ) , S22 , &HFCEFA3F8 ) '285
        md5_GG ( c , d , a , b , x ( k + 7 ) , S23 , &H676F02D9 ) '286
        md5_GG ( b , c , d , a , x ( k + 12 ) , S24 , &H8D2A4C8A ) '287
        md5_HH ( a , b , c , d , x ( k + 5 ) , S31 , &HFFFA3942 ) '289
        md5_HH ( d , a , b , c , x ( k + 8 ) , S32 , &H8771F681 ) '290
        md5_HH ( c , d , a , b , x ( k + 11 ) , S33 , &H6D9D6122 ) '291
        md5_HH ( b , c , d , a , x ( k + 14 ) , S34 , &HFDE5380C ) '292
        md5_HH ( a , b , c , d , x ( k + 1 ) , S31 , &HA4BEEA44 ) '293
        md5_HH ( d , a , b , c , x ( k + 4 ) , S32 , &H4BDECFA9 ) '294
        md5_HH ( c , d , a , b , x ( k + 7 ) , S33 , &HF6BB4B60 ) '295
        md5_HH ( b , c , d , a , x ( k + 10 ) , S34 , &HBEBFBC70 ) '296
        md5_HH ( a , b , c , d , x ( k + 13 ) , S31 , &H289B7EC6 ) '297
        md5_HH ( d , a , b , c , x ( k + 0 ) , S32 , &HEAA127FA ) '298
        md5_HH ( c , d , a , b , x ( k + 3 ) , S33 , &HD4EF3085 ) '299
        md5_HH ( b , c , d , a , x ( k + 6 ) , S34 , &H4881D05 ) '300
        md5_HH ( a , b , c , d , x ( k + 9 ) , S31 , &HD9D4D039 ) '301
        md5_HH ( d , a , b , c , x ( k + 12 ) , S32 , &HE6DB99E5 ) '302
        md5_HH ( c , d , a , b , x ( k + 15 ) , S33 , &H1FA27CF8 ) '303
        md5_HH ( b , c , d , a , x ( k + 2 ) , S34 , &HC4AC5665 ) '304
        md5_II ( a , b , c , d , x ( k + 0 ) , S41 , &HF4292244 ) '306
        md5_II ( d , a , b , c , x ( k + 7 ) , S42 , &H432AFF97 ) '307
        md5_II ( c , d , a , b , x ( k + 14 ) , S43 , &HAB9423A7 ) '308
        md5_II ( b , c , d , a , x ( k + 5 ) , S44 , &HFC93A039 ) '309
        md5_II ( a , b , c , d , x ( k + 12 ) , S41 , &H655B59C3 ) '310
        md5_II ( d , a , b , c , x ( k + 3 ) , S42 , &H8F0CCC92 ) '311
        md5_II ( c , d , a , b , x ( k + 10 ) , S43 , &HFFEFF47D ) '312
        md5_II ( b , c , d , a , x ( k + 1 ) , S44 , &H85845DD1 ) '313
        md5_II ( a , b , c , d , x ( k + 8 ) , S41 , &H6FA87E4F ) '314
        md5_II ( d , a , b , c , x ( k + 15 ) , S42 , &HFE2CE6E0 ) '315
        md5_II ( c , d , a , b , x ( k + 6 ) , S43 , &HA3014314 ) '316
        md5_II ( b , c , d , a , x ( k + 13 ) , S44 , &H4E0811A1 ) '317
        md5_II ( a , b , c , d , x ( k + 4 ) , S41 , &HF7537E82 ) '318
        md5_II ( d , a , b , c , x ( k + 11 ) , S42 , &HBD3AF235 ) '319
        md5_II ( c , d , a , b , x ( k + 2 ) , S43 , &H2AD7D2BB ) '320
        md5_II ( b , c , d , a , x ( k + 9 ) , S44 , &HEB86D391 ) '321
        a = AddUnsigned ( a , AA ) '323
        b = AddUnsigned ( b , BB ) '324
        c = AddUnsigned ( c , CC ) '325
        d = AddUnsigned ( d , DD ) '326
    Next '327
    MD5 = LCase ( WordToHex ( b ) & WordToHex ( c ) ) '330
    Exit Function
_AspToAspX_Err:
    AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\INC\MD5.ASP MD5:" & Err.Description)
    Resume Next
End Function
#Region "..."
#End Region
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -