Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Crc32 (https://www.delphipraxis.net/171279-crc32.html)

Question_mark 29. Okt 2012 18:50

Crc32
 
Hallo,

ich hoffe, mein Beitrag ist hier im richtigen Unterforum. Die Wahl war nicht wirklich einfach.

Ich suche eine Unit mit Funktionen zum Ver/entschlüsseln von Puffern (Array[0..XXX of Bytes) nach CRC-32 für Delphi 2009 Professional.
Folgende Kriterien sind gegeben :

Name CRC-32
Width 32 Bit
Poly $04C1 1DB7
Init $FFFF FFFF
RefIn TRUE
RefOut TRUE
XOROut $FFFF FFFF
Check $CBF4 3926

Dieser Algorithmus wird z.B. in PKZIK, AUTODIN II, FDDI und Ethernet verwendet. Ich benötige das, um die Checksumme für den Connect request im Ethernet zu ermitteln.

Nach langer Suche bei Tante Google habe ich folgendes gefunden :

http://code.google.com/p/delphi-spring-framework/

Das würde meine Anforderungen voll erfüllen, ist aber leider erst ab >= D2010 kompilierbar, da alles in ein Framework verpackt wurde und z.B. ausgiebig von in D2009 nicht vorhandenen Methoden (RTTI und Co) des Compilers Gebrauch gemacht wurde.
Ich habe dann versucht, für den Gebrauch in D2009 das alles auseinander zu rödeln und bin daran kläglich gescheitert :?
Als fleissiger Mitleser hier im Forum weiss ich, das einige Mitglieder sich bereits ausgiebig mit Crypthograpie beschäftigt haben und fundierte Kenntnisse in diesem Bereich besitzen.
Also kurz gesagt, hat jemand diese Funktionen auf der Festplatte oder kann zumindest einen Link hier einstellen ?

Question_mark

himitsu 29. Okt 2012 19:09

AW: Crc32
 
Ver/entschlüsseln?

CRC ist ein Hash/Prüfsumme.
Man kann man zwar sagen, daß man damit etwas verschlüsseln könnte, aber Entschlüsseln ist definitiv ausgeschlossen.

Es gibt das erstma das DEC, womit man Vieles machen kann, aber ich bin mir relativ sicher, daß es auch kleinere und ältere Hash-Libs gibt.
In einigen der Hier im Forum suchenCRC32-Threads läßt sich mit Sicherheit was finden.
Oder Bei Google suchendelphi crc32 library.



Von mit verstecken sich hier auch irgendwo noch ein paar ältere (einfache) Hash-Funktionen, welche man notfalls anpassen könnte.
Name CRC-32
Width 32 Bit (ist sowieso immer 32, darum heißt es ja CRC32)
Poly $04C1 1DB7
Init $FFFF FFFF
RefIn TRUE
RefOut TRUE
XOROut $FFFF FFFF
Check $CBF4 3926

Die grauen sind da eventuell noch nicht drin, bzw. ich weiß es einfach nicht ob und was das jetzt genau sein soll.

Question_mark 29. Okt 2012 19:21

AW: Crc32 Prüfsumme
 
Hallo,


Zitat:

Zitat von himits
Ver/entschlüsseln? CRC ist ein Hash/Prüfsumme.

Sorry, da habe ich mich zweideutig und unglücklich ausgedrückt. Es geht hier nur um um das Erstellen b.z.w. Prüfen einer Checksum.

Question_mark

himitsu 29. Okt 2012 19:46

AW: Crc32
 
Na dann.

Wie gesagt, das DEC kann das bestimmt, was du suchst.



Im Notfall dort die Unit FHash.pas rausnehmen, eventuell alles rauslöschen, außer der CRC32-Klasse.
Außerdem oben bei den Units alles raus und dann mal nachsehn, welche Units du brauchst und selber hast. (Types, SysUtils, Windows oder so)
http://www.delphipraxis.net/114342-u...reams-usw.html

Delphi-Quellcode:
CRC32Table04:    ThxCRC32Table = { polynomial ($04C11DB7) is used at AUTODIN II, Ethernet and &FDDI }  (
klingt zumindestens nich schlecht.

gammatester 30. Okt 2012 08:18

AW: Crc32
 
Zitat:

Zitat von Question_mark (Beitrag 1188954)
Ich suche eine Unit mit Funktionen zum Ver/entschlüsseln von Puffern (Array[0..XXX of Bytes) nach CRC-32 für Delphi 2009 Professional.
Folgende Kriterien sind gegeben :

Name CRC-32
Width 32 Bit
Poly $04C1 1DB7
Init $FFFF FFFF
RefIn TRUE
RefOut TRUE
XOROut $FFFF FFFF
Check $CBF4 3926

Dieser Algorithmus wird z.B. in PKZIK, AUTODIN II, FDDI und Ethernet verwendet. Ich benötige das, um die Checksumme für den Connect request im Ethernet zu ermitteln.

...
Ich habe dann versucht, für den Gebrauch in D2009 das alles auseinander zu rödeln und bin daran kläglich gescheitert :?


http://www.wolfgang-ehrhardt.de/crchash_de.html hat alles was Du brauchtst als Open-Source-Freeware.

Da Deine Parameter das Standard-Zip-CRC32 beschreiben, gibt's das in mehreren Ausführungen: Standard mit ASM, Fast mit 'slicing by 4' und PurePascal.

Gegebenenfalls kannst Du sogar an den Rocksoft-Parametern drehen.

Gruß Gammatester


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz