vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Background ist VBEx32.DLL 
Autor: unbekannt
Datum: 07.04.03 19:59

und meine Implementation des CRC32-Algorythmus:

FUNCTION VBCRC32 ALIAS "VBCRC32" (sQuelle AS STRING) EXPORT AS LONG
    DIM a AS LONG, b AS BYTE,e AS BYTE
    DIM d AS STRING
    DIM nCRC AS LONG, c AS LONG, n AS LONG
 
    d = sQuelle
    n = LEN(sQuelle)
 
Loop0:
    ! Mov  a,&Hff           ;Setze acht Bits in a
    ! Mov  Ecx,8            ;Zähler initialisieren
Loop1:
    ! Mov  b,0              ;Initialisiere b mit 0
    ! Mov  e,0              ;Initialisiere e mit 0
    ! Mov  Eax, nCRC        ;nCRC in Register laden
    ! And  Eax,32768        ;32768 And
    ! Cmp  Eax,32768        ;Vergleiche Eax
    ! Jne  Weiter0          ;Überspringe nächste Zeile wenn ungleich
    ! Mov  b,1              ;Setze b auf logisch 1
Weiter0:
    ! Mov  Edx,d            ;StringPtr nach Edx
    ! Mov  Ebx,c            ;Counter nach Ebx
    ! Mov  Eax,[Edx+Ebx]    ;Wert aus Speicher nach Eax
    ! Mov  Ebx,0            ;Initialisiere Ebx
    ! Shr  a,1              ;Division um binär ^2
    ! Mov  Ebx,a            ;Wert a auf bl
    ! Inc  Ebx              ;Addiere 1
    ! And  Eax,Ebx          ;And mit Wert aus Ebx
    ! Cmp  Eax,Ebx          ;Vergleiche Eax,Ebx
    ! Jne  Weiter1          ;Überspringe nächste Zeile wenn ungleich
    ! Mov  e,1              ;Setze e auf logisch 1
Weiter1:
    ! Mov  Eax,nCRC         ;setze nCRC nach Eax
    ! AND  Eax,32767        ;32767 And
    ! Shl  Eax,1            ;Multipliziere Eax mit 2
    ! Mov  nCRC,Eax         ;speichere Ergebnis in nCRC
    ! Mov  Eax,0            ;Initialisiere Eax
    ! Mov  Al,b             ;Wert aus b nach Al
    ! Mov  Ah,e             ;Wert von e nach Ah
    ! Cmp  al,ah            ;Vergleiche b mit e
    ! Je   Weiter2          ;Springe wenn gleich XOR = true
    ! Mov  Eax,nCRC         ;setze nCRC nach Eax
    ! Xor  Eax,&H8005       ;&H8005 XOR
    ! Mov  nCRC,Eax         ;Speichere Ergebnis in nCRC
Weiter2:
    ! Dec  Ecx              ;Vermindere counter um 1
    ! cmp  Ecx,0            ;ist Counter 0?
    ! Jne  Loop1            ;nein, dann Springe zu Loop1
    ! Inc  c                ;Addiere in c c=c+1
    ! Mov  Eax,c
    ! Mov  Ebx,n
    ! Cmp  Eax,Ebx
    ! Jne  Loop0
 
    IF nCrC < 0 THEN nCrC = nCrC+&H10000
    FUNCTION = nCrC
END FUNCTION
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Lässt sich eine CRC32-Checksumme in Klartext zurückverwande...1.341unbekannt07.04.03 18:48
Re: Lässt sich eine CRC32-Checksumme in Klartext zurückverw...1.027illuminator07.04.03 19:33
Re: Lässt sich eine CRC32-Checksumme in Klartext zurückverw...1.031unbekannt07.04.03 19:50
Background ist VBEx32.DLL1.024unbekannt07.04.03 19:59
Re: Lässt sich eine CRC32-Checksumme in Klartext zurückverw...987E707.04.03 20:40
Re: Lässt sich eine CRC32-Checksumme in Klartext zurückverw...977unbekannt07.04.03 20:51
Re: Lässt sich eine CRC32-Checksumme in Klartext zurückverw...1.033E707.04.03 21:02
Das Problem nun verdeutlicht ...961unbekannt07.04.03 21:17
Re: Das Problem nun verdeutlicht ...991E707.04.03 21:31
Re: Das Problem nun verdeutlicht ...998unbekannt07.04.03 21:41
Re: Das Problem nun verdeutlicht ...911E709.04.03 18:51
Mhm, Was haltet Ihr von CRC32 Teilverschlüsselung?921unbekannt07.04.03 23:59
Wenn ja, mache ich einen Workshop über: "Sichere INI-Fi...938unbekannt08.04.03 00:07
Die Superklasse sodann:961unbekannt08.04.03 00:30
Re: Die Superklasse sodann:52Anon09.04.03 19:43
Re: Die Superklasse sodann:967unbekannt09.04.03 20:03
Oder aber:984unbekannt09.04.03 20:18
Re: Oder aber:69Anon09.04.03 20:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel