📄 asp_md5.aspx.vb
字号:
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP
Public Function ASP_md5_H(ByRef x,ByRef y,ByRef z )
On Error GoTo _AspToAspX_Err
ASP_md5_H = ( x Xor y Xor z ) '127
Exit Function
_AspToAspX_Err:
AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP ASP_md5_H:" & Err.Description)
Resume Next
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP
Public Function ASP_md5_I(ByRef x,ByRef y,ByRef z )
On Error GoTo _AspToAspX_Err
ASP_md5_I = ( y Xor ( x Or ( Not z ) ) ) '131
Exit Function
_AspToAspX_Err:
AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP ASP_md5_I:" & Err.Description)
Resume Next
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP
Public Function ASP_ConvertToWordArray(ByRef sMessage )
On Error GoTo _AspToAspX_Err
Dim lMessageLength
Dim lNumberOfWords
Dim lWordArray
Dim lBytePosition
Dim lByteCount
Dim lWordCount
Const MODULUS_BITS = 512
Const CONGRUENT_BITS = 448
lMessageLength = AspToAspX_Len ( sMessage ) '169
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 ) '171
ReDim lWordArray ( lNumberOfWords - 1 ) '172
lBytePosition = 0 '174
lByteCount = 0 '175
Do Until lByteCount > = lMessageLength '176
lWordCount = lByteCount \ ASP_BYTES_TO_A_WORD '177
lBytePosition = ( lByteCount Mod ASP_BYTES_TO_A_WORD ) * ASP_BITS_TO_A_BYTE '178
lWordArray ( lWordCount ) = lWordArray ( lWordCount ) Or ASP_LShift ( Asc ( AspToAspX_MidB ( sMessage , lByteCount + 1 , 1 ) ) , lBytePosition ) '179
lByteCount = lByteCount + 1 '180
Loop '181
lWordCount = lByteCount \ ASP_BYTES_TO_A_WORD '183
lBytePosition = ( lByteCount Mod ASP_BYTES_TO_A_WORD ) * ASP_BITS_TO_A_BYTE '184
lWordArray ( lWordCount ) = lWordArray ( lWordCount ) Or ASP_LShift ( &H80 , lBytePosition ) '186
lWordArray ( lNumberOfWords - 2 ) = ASP_LShift ( lMessageLength , 3 ) '188
lWordArray ( lNumberOfWords - 1 ) = ASP_RShift ( lMessageLength , 29 ) '189
ASP_ConvertToWordArray = lWordArray '191
Exit Function
_AspToAspX_Err:
AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP ASP_ConvertToWordArray:" & Err.Description)
Resume Next
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP
Public Function ASP_WordToHex(ByRef lValue )
On Error GoTo _AspToAspX_Err
Dim lByte
Dim lCount
For lCount = 0 To 3 '198
lByte = ASP_RShift ( lValue , lCount * ASP_BITS_TO_A_BYTE ) And ASP_m_lOnBits ( ASP_BITS_TO_A_BYTE - 1 ) '199
ASP_WordToHex = ASP_WordToHex & Right ( "0" & Hex ( lByte ) , 2 ) '200
Next '201
Exit Function
_AspToAspX_Err:
AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP ASP_WordToHex:" & Err.Description)
Resume Next
End Function
'E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP
Public Function ASP_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
ASP_m_lOnBits ( 0 ) = AspToAspX_CInt ( 1 ) '205
ASP_m_lOnBits ( 1 ) = AspToAspX_CInt ( 3 ) '206
ASP_m_lOnBits ( 2 ) = AspToAspX_CInt ( 7 ) '207
ASP_m_lOnBits ( 3 ) = AspToAspX_CInt ( 15 ) '208
ASP_m_lOnBits ( 4 ) = AspToAspX_CInt ( 31 ) '209
ASP_m_lOnBits ( 5 ) = AspToAspX_CInt ( 63 ) '210
ASP_m_lOnBits ( 6 ) = AspToAspX_CInt ( 127 ) '211
ASP_m_lOnBits ( 7 ) = AspToAspX_CInt ( 255 ) '212
ASP_m_lOnBits ( 8 ) = AspToAspX_CInt ( 511 ) '213
ASP_m_lOnBits ( 9 ) = AspToAspX_CInt ( 1023 ) '214
ASP_m_lOnBits ( 10 ) = AspToAspX_CInt ( 2047 ) '215
ASP_m_lOnBits ( 11 ) = AspToAspX_CInt ( 4095 ) '216
ASP_m_lOnBits ( 12 ) = AspToAspX_CInt ( 8191 ) '217
ASP_m_lOnBits ( 13 ) = AspToAspX_CInt ( 16383 ) '218
ASP_m_lOnBits ( 14 ) = AspToAspX_CInt ( 32767 ) '219
ASP_m_lOnBits ( 15 ) = AspToAspX_CInt ( 65535 ) '220
ASP_m_lOnBits ( 16 ) = AspToAspX_CInt ( 131071 ) '221
ASP_m_lOnBits ( 17 ) = AspToAspX_CInt ( 262143 ) '222
ASP_m_lOnBits ( 18 ) = AspToAspX_CInt ( 524287 ) '223
ASP_m_lOnBits ( 19 ) = AspToAspX_CInt ( 1048575 ) '224
ASP_m_lOnBits ( 20 ) = AspToAspX_CInt ( 2097151 ) '225
ASP_m_lOnBits ( 21 ) = AspToAspX_CInt ( 4194303 ) '226
ASP_m_lOnBits ( 22 ) = AspToAspX_CInt ( 8388607 ) '227
ASP_m_lOnBits ( 23 ) = AspToAspX_CInt ( 16777215 ) '228
ASP_m_lOnBits ( 24 ) = AspToAspX_CInt ( 33554431 ) '229
ASP_m_lOnBits ( 25 ) = AspToAspX_CInt ( 67108863 ) '230
ASP_m_lOnBits ( 26 ) = AspToAspX_CInt ( 134217727 ) '231
ASP_m_lOnBits ( 27 ) = AspToAspX_CInt ( 268435455 ) '232
ASP_m_lOnBits ( 28 ) = AspToAspX_CInt ( 536870911 ) '233
ASP_m_lOnBits ( 29 ) = AspToAspX_CInt ( 1073741823 ) '234
ASP_m_lOnBits ( 30 ) = AspToAspX_CInt ( 2147483647 ) '235
ASP_m_l2Power ( 0 ) = AspToAspX_CInt ( 1 ) '237
ASP_m_l2Power ( 1 ) = AspToAspX_CInt ( 2 ) '238
ASP_m_l2Power ( 2 ) = AspToAspX_CInt ( 4 ) '239
ASP_m_l2Power ( 3 ) = AspToAspX_CInt ( 8 ) '240
ASP_m_l2Power ( 4 ) = AspToAspX_CInt ( 16 ) '241
ASP_m_l2Power ( 5 ) = AspToAspX_CInt ( 32 ) '242
ASP_m_l2Power ( 6 ) = AspToAspX_CInt ( 64 ) '243
ASP_m_l2Power ( 7 ) = AspToAspX_CInt ( 128 ) '244
ASP_m_l2Power ( 8 ) = AspToAspX_CInt ( 256 ) '245
ASP_m_l2Power ( 9 ) = AspToAspX_CInt ( 512 ) '246
ASP_m_l2Power ( 10 ) = AspToAspX_CInt ( 1024 ) '247
ASP_m_l2Power ( 11 ) = AspToAspX_CInt ( 2048 ) '248
ASP_m_l2Power ( 12 ) = AspToAspX_CInt ( 4096 ) '249
ASP_m_l2Power ( 13 ) = AspToAspX_CInt ( 8192 ) '250
ASP_m_l2Power ( 14 ) = AspToAspX_CInt ( 16384 ) '251
ASP_m_l2Power ( 15 ) = AspToAspX_CInt ( 32768 ) '252
ASP_m_l2Power ( 16 ) = AspToAspX_CInt ( 65536 ) '253
ASP_m_l2Power ( 17 ) = AspToAspX_CInt ( 131072 ) '254
ASP_m_l2Power ( 18 ) = AspToAspX_CInt ( 262144 ) '255
ASP_m_l2Power ( 19 ) = AspToAspX_CInt ( 524288 ) '256
ASP_m_l2Power ( 20 ) = AspToAspX_CInt ( 1048576 ) '257
ASP_m_l2Power ( 21 ) = AspToAspX_CInt ( 2097152 ) '258
ASP_m_l2Power ( 22 ) = AspToAspX_CInt ( 4194304 ) '259
ASP_m_l2Power ( 23 ) = AspToAspX_CInt ( 8388608 ) '260
ASP_m_l2Power ( 24 ) = AspToAspX_CInt ( 16777216 ) '261
ASP_m_l2Power ( 25 ) = AspToAspX_CInt ( 33554432 ) '262
ASP_m_l2Power ( 26 ) = AspToAspX_CInt ( 67108864 ) '263
ASP_m_l2Power ( 27 ) = AspToAspX_CInt ( 134217728 ) '264
ASP_m_l2Power ( 28 ) = AspToAspX_CInt ( 268435456 ) '265
ASP_m_l2Power ( 29 ) = AspToAspX_CInt ( 536870912 ) '266
ASP_m_l2Power ( 30 ) = AspToAspX_CInt ( 1073741824 ) '267
x = ASP_ConvertToWordArray ( ASP_Str2bin ( sMessage ) ) '298
a = &H67452301 '300
b = &HEFCDAB89 '301
c = &H98BADCFE '302
d = &H10325476 '303
For k = 0 To Val ( UBound ( x ) ) Step 16 '305
AA = a '306
BB = b '307
CC = c '308
DD = d '309
ASP_md5_FF ( a , b , c , d , x ( k + 0 ) , S11 , &HD76AA478 ) '311
ASP_md5_FF ( d , a , b , c , x ( k + 1 ) , S12 , &HE8C7B756 ) '312
ASP_md5_FF ( c , d , a , b , x ( k + 2 ) , S13 , &H242070DB ) '313
ASP_md5_FF ( b , c , d , a , x ( k + 3 ) , S14 , &HC1BDCEEE ) '314
ASP_md5_FF ( a , b , c , d , x ( k + 4 ) , S11 , &HF57C0FAF ) '315
ASP_md5_FF ( d , a , b , c , x ( k + 5 ) , S12 , &H4787C62A ) '316
ASP_md5_FF ( c , d , a , b , x ( k + 6 ) , S13 , &HA8304613 ) '317
ASP_md5_FF ( b , c , d , a , x ( k + 7 ) , S14 , &HFD469501 ) '318
ASP_md5_FF ( a , b , c , d , x ( k + 8 ) , S11 , &H698098D8 ) '319
ASP_md5_FF ( d , a , b , c , x ( k + 9 ) , S12 , &H8B44F7AF ) '320
ASP_md5_FF ( c , d , a , b , x ( k + 10 ) , S13 , &HFFFF5BB1 ) '321
ASP_md5_FF ( b , c , d , a , x ( k + 11 ) , S14 , &H895CD7BE ) '322
ASP_md5_FF ( a , b , c , d , x ( k + 12 ) , S11 , &H6B901122 ) '323
ASP_md5_FF ( d , a , b , c , x ( k + 13 ) , S12 , &HFD987193 ) '324
ASP_md5_FF ( c , d , a , b , x ( k + 14 ) , S13 , &HA679438E ) '325
ASP_md5_FF ( b , c , d , a , x ( k + 15 ) , S14 , &H49B40821 ) '326
ASP_md5_GG ( a , b , c , d , x ( k + 1 ) , S21 , &HF61E2562 ) '328
ASP_md5_GG ( d , a , b , c , x ( k + 6 ) , S22 , &HC040B340 ) '329
ASP_md5_GG ( c , d , a , b , x ( k + 11 ) , S23 , &H265E5A51 ) '330
ASP_md5_GG ( b , c , d , a , x ( k + 0 ) , S24 , &HE9B6C7AA ) '331
ASP_md5_GG ( a , b , c , d , x ( k + 5 ) , S21 , &HD62F105D ) '332
ASP_md5_GG ( d , a , b , c , x ( k + 10 ) , S22 , &H2441453 ) '333
ASP_md5_GG ( c , d , a , b , x ( k + 15 ) , S23 , &HD8A1E681 ) '334
ASP_md5_GG ( b , c , d , a , x ( k + 4 ) , S24 , &HE7D3FBC8 ) '335
ASP_md5_GG ( a , b , c , d , x ( k + 9 ) , S21 , &H21E1CDE6 ) '336
ASP_md5_GG ( d , a , b , c , x ( k + 14 ) , S22 , &HC33707D6 ) '337
ASP_md5_GG ( c , d , a , b , x ( k + 3 ) , S23 , &HF4D50D87 ) '338
ASP_md5_GG ( b , c , d , a , x ( k + 8 ) , S24 , &H455A14ED ) '339
ASP_md5_GG ( a , b , c , d , x ( k + 13 ) , S21 , &HA9E3E905 ) '340
ASP_md5_GG ( d , a , b , c , x ( k + 2 ) , S22 , &HFCEFA3F8 ) '341
ASP_md5_GG ( c , d , a , b , x ( k + 7 ) , S23 , &H676F02D9 ) '342
ASP_md5_GG ( b , c , d , a , x ( k + 12 ) , S24 , &H8D2A4C8A ) '343
ASP_md5_HH ( a , b , c , d , x ( k + 5 ) , S31 , &HFFFA3942 ) '345
ASP_md5_HH ( d , a , b , c , x ( k + 8 ) , S32 , &H8771F681 ) '346
ASP_md5_HH ( c , d , a , b , x ( k + 11 ) , S33 , &H6D9D6122 ) '347
ASP_md5_HH ( b , c , d , a , x ( k + 14 ) , S34 , &HFDE5380C ) '348
ASP_md5_HH ( a , b , c , d , x ( k + 1 ) , S31 , &HA4BEEA44 ) '349
ASP_md5_HH ( d , a , b , c , x ( k + 4 ) , S32 , &H4BDECFA9 ) '350
ASP_md5_HH ( c , d , a , b , x ( k + 7 ) , S33 , &HF6BB4B60 ) '351
ASP_md5_HH ( b , c , d , a , x ( k + 10 ) , S34 , &HBEBFBC70 ) '352
ASP_md5_HH ( a , b , c , d , x ( k + 13 ) , S31 , &H289B7EC6 ) '353
ASP_md5_HH ( d , a , b , c , x ( k + 0 ) , S32 , &HEAA127FA ) '354
ASP_md5_HH ( c , d , a , b , x ( k + 3 ) , S33 , &HD4EF3085 ) '355
ASP_md5_HH ( b , c , d , a , x ( k + 6 ) , S34 , &H4881D05 ) '356
ASP_md5_HH ( a , b , c , d , x ( k + 9 ) , S31 , &HD9D4D039 ) '357
ASP_md5_HH ( d , a , b , c , x ( k + 12 ) , S32 , &HE6DB99E5 ) '358
ASP_md5_HH ( c , d , a , b , x ( k + 15 ) , S33 , &H1FA27CF8 ) '359
ASP_md5_HH ( b , c , d , a , x ( k + 2 ) , S34 , &HC4AC5665 ) '360
ASP_md5_II ( a , b , c , d , x ( k + 0 ) , S41 , &HF4292244 ) '362
ASP_md5_II ( d , a , b , c , x ( k + 7 ) , S42 , &H432AFF97 ) '363
ASP_md5_II ( c , d , a , b , x ( k + 14 ) , S43 , &HAB9423A7 ) '364
ASP_md5_II ( b , c , d , a , x ( k + 5 ) , S44 , &HFC93A039 ) '365
ASP_md5_II ( a , b , c , d , x ( k + 12 ) , S41 , &H655B59C3 ) '366
ASP_md5_II ( d , a , b , c , x ( k + 3 ) , S42 , &H8F0CCC92 ) '367
ASP_md5_II ( c , d , a , b , x ( k + 10 ) , S43 , &HFFEFF47D ) '368
ASP_md5_II ( b , c , d , a , x ( k + 1 ) , S44 , &H85845DD1 ) '369
ASP_md5_II ( a , b , c , d , x ( k + 8 ) , S41 , &H6FA87E4F ) '370
ASP_md5_II ( d , a , b , c , x ( k + 15 ) , S42 , &HFE2CE6E0 ) '371
ASP_md5_II ( c , d , a , b , x ( k + 6 ) , S43 , &HA3014314 ) '372
ASP_md5_II ( b , c , d , a , x ( k + 13 ) , S44 , &H4E0811A1 ) '373
ASP_md5_II ( a , b , c , d , x ( k + 4 ) , S41 , &HF7537E82 ) '374
ASP_md5_II ( d , a , b , c , x ( k + 11 ) , S42 , &HBD3AF235 ) '375
ASP_md5_II ( c , d , a , b , x ( k + 2 ) , S43 , &H2AD7D2BB ) '376
ASP_md5_II ( b , c , d , a , x ( k + 9 ) , S44 , &HEB86D391 ) '377
a = ASP_AddUnsigned ( a , AA ) '379
b = ASP_AddUnsigned ( b , BB ) '380
c = ASP_AddUnsigned ( c , CC ) '381
d = ASP_AddUnsigned ( d , DD ) '382
Next '383
ASP_MD5 = LCase ( ASP_WordToHex ( a ) & ASP_WordToHex ( b ) & ASP_WordToHex ( c ) & ASP_WordToHex ( d ) ) '385
Exit Function
_AspToAspX_Err:
AspToAspX_WriteLog("E:\FTBBS_UTF8_7.0\UPLOAD\ASP_MD5.ASP ASP_MD5:" & Err.Description)
Resume Next
End Function
#Region "..."
#End Region
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -