AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kann mir jemand diesen C++ Code in Delphi umwandeln?
Thema durchsuchen
Ansicht
Themen-Optionen

Kann mir jemand diesen C++ Code in Delphi umwandeln?

Ein Thema von Pseudemys Nelsoni · begonnen am 12. Jan 2004 · letzter Beitrag vom 13. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 04:35
hoi,

um diesen code geht es:

Delphi-Quellcode:
#include <string.h>

void main(void)
{
   char pass[] = "12345678";
   char apgard[9];

   apgar(pass, apgard);
}


void apgar(char v[], char *outbuf)
{
        char w[9];
        int i; 

        for (i = 0; i < 8; i++)
        {
                int a = v[i];
                w[i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./"([a & 1 ? a << (a & 1) & v[8 - i] : a ^ v[8 - i]) & 0x3f];
        }

        w[8] = 0;
        strcpy(outbuf, w);
        return;
}


ich hatte schon angefangen, aber sicher falsch, so sah meins aus *g*:

Delphi-Quellcode:
procedure apgar(pw, apg: string);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
var
  pass: string;
  apgard: string[9];
begin
  pass := Edit1.text;
  apgar(pass, apgard);
end;
also wäre echt nett wenn jemand diesen C Source s.o in delphi source umwandeln könnte. Ich les jetzt erstmal luckies DLL Tutorial, bis später
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 06:47
Ich kopier mir mal das Zeug und denke genauer drueber nach.
Das ist wirklich ein freches Stueck Code.
for ist in Delphi nicht moeglich fuer diesen Algorithmus, denn die Laufvariable wird veraendert.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 07:00
hoffe das das in Delpjhi möglich ist

das ist nämlich das teil das meine passwörter "encryptet"
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 07:22
Es scheint ein Fehler im C Sourcecode zu sein.
w[i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789./"([a & 1 ? a << (a & 1) & v[8 - i] : a ^ v[8 - i]) & 0x3f];
ist unsinnig, denn es wird nicht an w zugewiesen.
Ich nehme an es heisst
w[i] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789./"([a & 1 ? a << (a & 1) & v[8 - i] : a ^ v[8 - i]) & 0x3f;

Mit dieser Annahme geht es mit einem for-loop.

Delphi-Quellcode:
procedure apgar(V: PChar; Outbuf: PChar);
const
  Encoding = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./';
var
  W: array [0..8] of Char;
  I: Integer;
  A: Integer;
begin
  for I := 0 to 7 do
  begin
    A := Integer(V[I]);
    // a & 1 ?
    if Odd(A) then
      W[I] := Encoding[(a shl ((a and 1) and V[8-I])) and $3F]
    else
      W[I] := Encoding[(a xor V[8-I]) and $3F];
  end;
  Move(W[0], Outbuf[0], 8);
end;
Bitte pruefe die C-Source nochmal.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 07:25
Eh natuerlich sollte es in C
w[i] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789./"([a & 1 ? a << (a & 1) & v[8 - i] : a ^ v[8 - i]) & 0x3f];
heissen, denn es fehlt ja eine eckige Klammer.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 07:33
...und noch zwei Fehler. Diesmal bei mir.
Delphi-Quellcode:
procedure apgar(V: PChar; Outbuf: PChar);
const
  Encoding = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./';
var
  W: array [0..8] of Char;
  I: Integer;
  A: Integer;
begin
  for I := 0 to 7 do
  begin
    A := Integer(V[I]);
    // a & 1 ?
    if Odd(A) then
      W[I] := Encoding[((a shl ((a and 1) and V[8-I])) and $3F)+1]
    else
      W[I] := Encoding[((a xor V[8-I]) and $3F)+1];
  end;
  W[8] := #0;
  Move(W[0], Outbuf[0], 8);
end;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 08:06
hoi robert,

das sieht ja wirklich gut aus


kanst du mir noch sagen was ich an die 2 PChars übergeben muss? 1mal das passwort und noch?
dann könnt ich es mal ausprobieren
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Nightshade

Registriert seit: 7. Jan 2003
Ort: Menden
192 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 08:28
Hallöle..

procedure apgar(V: PChar; Outbuf: PChar); Das sieht für mich so aus, als ob V das Password ist, und über Outbuf gibt er dir das Password verschlüsselt zurück.


PS. Kann es sein, das es :
procedure apgar(V: PChar; var Outbuf: PChar); heissen muss ?
Christian
Killing for peace is like fucking for virginity

Nightshade
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 08:40
@Nightshade: Nein, da es ja ein Zeiger ist.

Delphi-Quellcode:
var
   pass: PChar;
   apgard: array [0..8] of Char;
begin
   // es sollten mindestens 8 Zeichen sein!
   pass := '12345678';
   apgar(pass, @apgard[0]);
   // in apgard sollte jetzt das verschluesselte Passwort stehen
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#10

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 08:56
ich bekomme in dieser zeile einen fehler

W[I] := Encoding[((a shl ((a and 1) and V[8-I])) and $3F)+1]
Zitat:
[Fehler] Unit1.pas(40): Operator ist auf diesen Operandentyp nicht anwendbar
[Fehler] Unit1.pas(42): Operator ist auf diesen Operandentyp nicht anwendbar
[Fataler Fehler] Project2.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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