Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Podle čeho je počítána CRC-32 ?

Má data a k nim CRC32.
Je to na programování int. obvodů.
Potřebuji změnit data, ale nevím podle čeho sestavit kontrolní součet.
Předpokládám, že se to počítá s dat, ale nepřišel jsem jak na to...

CRC32 = 33 2B 7D 16
Data = 40 CF DB 01

Př2:
CRC32 = 82 64 81 91
Data = 40 B4 1E 02

Předmět Autor Datum
Co zkusit trochu hledat? https://www.google.com/search?q=crc32+checksum&oq=CRC32&aqs=edge.3.0i512l8…
dsa 14.09.2022 13:28
dsa
To samozřejmě vím, ale nedaří se mi spočítat CRC32, tak aby to sedělo na Data. Nevím zda př. 40 je h…
FixExa 14.09.2022 14:07
FixExa
To už záleží na tvých potřebách, může být klidně obojí. Pokud to má být čitelné i pro člověka, tak j…
Wikan 14.09.2022 14:33
Wikan
Já spíše hledám způsob jak dělaný ten check CRC32 aby to odpovídalo.
FixExa 14.09.2022 16:03
FixExa
Umí hp vypočítat třeba Total Commander, jestli používáš. Ale určitě se dají sehnat i specializované…
Wikan 14.09.2022 16:32
Wikan
Kdysi jsem na to někde stáhnul dva open source programy (spíš examply), jeden v něčem, co jsem přelo…
ml1 16.09.2022 16:06
ml1
Muze byt z dat, muze byt ze souboru. Vyzkousej si vypocet na existujicich datech, podle toho budes m…
Jan Fiala 14.09.2022 16:50
Jan Fiala
Data jsou jasně hexadecimální, ale podle to nevychází, nicméně je jasné, že jsou různé CRCy, a možná…
Kyncl 14.09.2022 19:24
Kyncl
Nejspíš nejde o kompletní data, ale jenom o začátek. Pak to klidně odpovídat může.
Wikan 14.09.2022 20:31
Wikan
Taky jsem si myslel, ale bude to hash z dat. Originál je: ## ;BIT 1 ;RCG Enable ExtPatch = 00 00 00…
FixExa 15.09.2022 10:43
FixExa
Tak to se nejspíš budeš muset podívat do odpovídající dokumentace, kde by to mělo být popsané.
Wikan 15.09.2022 10:59
Wikan
Co když je to CRC původních dat aby byla kontrola, zda jde patch použít?
Jan Fiala 15.09.2022 13:33
Jan Fiala
Taky mě to napadlo, ale není tomu tak :-(
FixExa 16.09.2022 12:33
FixExa
Ono to spíše vypadá, že se k CRC32 použil nestandardní "polynom" :-(
FixExa 15.09.2022 10:58
FixExa
Nebo si to jednoduše pojistil aby se mu v.tom nikdo nehrabal. A k tomu co vidíš připočítá hash něčeh…
MM_tank 16.09.2022 20:03
MM_tank
Nevím jestli je tohle ten případ, ale nutno dát bacha na Indiány.
Rce 15.09.2022 22:25
Rce
Zavírám: Myšlenka bude asi správná: Nebo si to jednoduše pojistil aby se mu v.tom nikdo nehrabal. poslední
FixExa 21.09.2022 12:04
FixExa

Kdysi jsem na to někde stáhnul dva open source programy (spíš examply), jeden v něčem, co jsem přeložil do pascalu/delphi a druhý v assembleru (údajně kvůli rychlosti, ale ta nebyla o moc větší co si pamatuju). Ale je to už tak dávno, že těžko budu vzpomínat. Ovšem dneska stačí zadata dotaz do vyhledávače a určitě se něco najde, já to tehdy taky nějak tak našel, i když po delší době, když jsem už ztratil naději, protože jsem se dozvěděl všechno možné (přesně ve smyslu motta "seznam - najdu tam, co neznám" ono to platilo tehdy pro všechny vyhledavače a dneska to neni zas o tolik lepší).
Pamatuju si, že jsem v tom programu měl nějaký bugg (počítal jen první 2 gigabajty), který tam ale tolalcommander (tehdy windowscommander) musel mít taky, protože jsem dostával stejná čísla.

Pokud se používá jiný tvořicí polynom, to by bylo divné, protože CRC32 by mělo odkazovat na konkrétní polynom, i když když o tom přemýšlím, je to 32 bitová cyklycká redudnantní kontrola, tak třeba ne. Vlastně jsem to tehdy s tím polynomem moc nepochopil, a od té doby jsem se o to nijak nesnažil, byl to kus programu, který funguje a nemuselo se na něj nikdy šahat.
Může ale být taky třeba jiný počátek, CRC32 se začíná počítat z 0xffffffff (řekněme -1 ve znaménkové interpretaci) a výsledek se pak invertuje, co když si někdo zvolí jiný počátek.

Ještě jeden námět - kontrolní součty na nejmíň tucet způsobů umí Doblecommander a ten je zadarmo a opensource (při troše snahy (je potřeba doinstalovat pár knihoven apod.) se dá přeložit a spustit v lazarusu, to mám vyzkoušené). Tam bych asi směřoval dneska, kdybych to hledal. Nevím nakolik dostupnost tohoto programu ovlivnila válka, přecejenom je to program ruského původu.

Zpět do poradny Odpovědět na původní otázku Nahoru