Тема: VBScript: Вычисление CRC32 строки
Здравствуйте. Недавно столкнулся с потребностью нахождения CRC32 строки в VBS. Т.к его нет на вашем сайте решил выложить его здесь.
Думаю его ещё и под вычисление CRC32 файла можно заточить:)
P.S. Не помню где нашёл код, но он нам был на языке VB, а не VBS. Так что выкладываю без копирайта.
Dim CrcTableInit
Dim CRCTable(255)
MsgBox Hex(calcCRC32("GetProcAddress")) 'Пример Использования
Wscript.Quit
Function calcCRC32(TextStr)
Dim i, crc
If CrcTableInit = False Then Call Init_CRCTable
crc = -1
For i = 1 To Len(TextStr)
crc = (((crc And &HFFFFFF00) \ &H100) And &HFFFFFF) Xor (CRCTable((crc And &HFF) Xor Asc(Mid(TextStr, i, 1))))
Next
crc = crc Xor &HFFFFFFFF
calcCRC32 = crc
End Function
Sub Init_CRCTable()
Dim i, j, Limit, crc
Limit = &HEDB88320
For i = 0 To 255
crc = i
For j = 0 To 7
If crc And 1 Then
crc = (((crc And &HFFFFFFFE) \ 2) And &H7FFFFFFF) Xor Limit
Else
crc = ((crc And &HFFFFFFFE) \ 2) And &H7FFFFFFF
End If
Next
CRCTable(i) = crc
Next
CrcTableInit = True
End Sub
