Помогите с CRC32

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

Помогите с CRC32

Сообщение claymen » 17.10.2006 (Вт) 6:30

Вот потребовалось в проекте исспользовать CRC32.
Где можно достать эти алгоритмы чтобы делать следующее:
1. CRC32 текстовой строки
2. СRС32 файла
и начинали мы все чайниками, но потом...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.10.2006 (Вт) 7:04

Google, Yandex и так далее...
Весь мир матрица, а мы в нем потоки байтов!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.10.2006 (Вт) 7:33

Код: Выделить всё
...
Private crc32Table() As Long
...
Function CalcCRC(Data As String) As Long
Dim crc32Result As Long, I As Long, L As Byte, B As Byte
Const dwPolynomial As Long = &HEDB88320
On Error GoTo ErrorHandler
I = crc32Table(0)
On Error GoTo 0
crc32Result = &HFFFFFFFF
For I = 1 To Len(Data)
  B = Asc(Mid$(Data, I, 1))
  L = (crc32Result And &HFF) Xor B
  crc32Result = ((crc32Result And &HFFFFFF00) \ &H100) And 16777215 ' shr 8
  crc32Result = crc32Result Xor crc32Table(L)
Next I
CalcCRC = Not crc32Result
Exit Function

ErrorHandler:
ReDim crc32Table(0 To 255)
For I = 0 To 255
  crc32Result = I
  For B = 0 To 7
    If (crc32Result And 1) Then
        crc32Result = ((crc32Result And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
        crc32Result = crc32Result Xor dwPolynomial
    Else
        crc32Result = ((crc32Result And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
    End If
  Next B
  crc32Table(I) = crc32Result
Next I
Resume
End Function


Для файла сделать по аналогии.


vbskb_crc vbskb_crc32
Lasciate ogni speranza, voi ch'entrate.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Сообщение MIT » 17.10.2006 (Вт) 23:35

А еще есть алгоритмы хеширования, типа MD5 и SHA. Поищи по форуму, тут уже выкладывался VBCrypto.zip - это то что надо!!!

yaklit
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 129
Зарегистрирован: 09.09.2006 (Сб) 19:38

Сообщение yaklit » 19.10.2006 (Чт) 21:08

а чо такое хэширование? Чото типа крк но что именно? Я знаю MD5 это так примерно : 34DFE346GG678CCGV1

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.10.2006 (Чт) 21:18

нда, буквы G и V в MD5-хеше -- это пять баллов.
по вопросу "а чо такое хэширование": yaklit, иди в гугл.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 113

    TopList