Thema Datum  Von Nutzer Rating
Antwort
Rot C code nach VBA umsetzen
12.03.2014 00:02:24 eklinkow
NotSolved
15.03.2014 08:52:55 Gast72140
NotSolved
15.03.2014 19:36:06 Gast8013
Solved

Ansicht des Beitrags:
Von:
eklinkow
Datum:
12.03.2014 00:02:24
Views:
1262
Rating: Antwort:
  Ja
Thema:
C code nach VBA umsetzen

Hallo,

ich muss ein C-Algorythmus nach VBA umbauen. C ist nicht meine Sprache und irgendwo habe ich ein Problem. Kann mir jemand helfen wo der Fehler liegt?

C-Code:

// Funktion zum Entschlüsseln der Datenblöcke
void EnCrypt(BYTE *pKey, int keyLen, BYTE *pData, int datenLen)
{
	BYTE RC4_sbox[256];
   int i = 0, j = 0, k = 0, temp = 0, t = 0;

   for (j = 0; j < 256; j++)
      RC4_sbox[j] = j;
   j = 0;
   for (i=0; i < 256; i++) 
   {
      j = (j + RC4_sbox[i] + pKey[i % keyLen]) % 256;
      temp        = RC4_sbox[i];
      RC4_sbox[i] = RC4_sbox[j];
      RC4_sbox[j] = temp;
   }
   for (k=0; k < datenLen; k++) 
   {
      i = (i + 1) % 256;
      j = (j + RC4_sbox[i]) % 256;
      temp        = RC4_sbox[i];
      RC4_sbox[i] = RC4_sbox[j];
      RC4_sbox[j] = temp;
      t = (RC4_sbox[i] + RC4_sbox[j]) % 256;
      pData[k] = (pData[k] ^ RC4_sbox[t]);
   }
}

VBA-Code

Sub EnCryptVba(ByVal pKey As Variant, ByVal keylen As Integer, ByRef pData() As Byte, ByVal datenLen As Integer)
    Dim RC4_sbox(0 To 255) As Byte
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim t As Integer
    Dim temp As Variant
    Dim tempbyte As Byte

    For j = 0 To 255 Step 1
        RC4_sbox(j) = j
    Next

    For i = 0 To 255 Step 1
        j = (j + RC4_sbox(i) + pKey(i Mod keylen)) Mod 256
        temp = RC4_sbox(i)
        RC4_sbox(i) = RC4_sbox(j)
        RC4_sbox(j) = temp

    Next
    For k = 0 To datenLen Step 1
        i = (i + 1) Mod 256
        j = (j + RC4_sbox(i)) Mod 256
        temp = RC4_sbox(i)
        RC4_sbox(i) = RC4_sbox(j)
        RC4_sbox(j) = temp
        t = (CInt(RC4_sbox(i)) + CInt(RC4_sbox(j))) Mod 256
        pData(k) = (pData(k) Xor RC4_sbox(t))
    Next
    'EnCryptVBA = pData
End Sub

Danke für eure Hilfe

eklinkow


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot C code nach VBA umsetzen
12.03.2014 00:02:24 eklinkow
NotSolved
15.03.2014 08:52:55 Gast72140
NotSolved
15.03.2014 19:36:06 Gast8013
Solved