AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich 3 PChar addieren

Ein Thema von Aurus · begonnen am 18. Jan 2006 · letzter Beitrag vom 19. Jan 2006
Antwort Antwort
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#1

Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 20:28
Hallo

Ich bin gerade an einem Verschlüsselungsprogramm. Ich muss einen "binären String"(wohl falsches Wort) in eine DLL übergeben und dann weiterverarbeiten.


Var
p1 Char;
p2 Char;
p3 Char;
pT Char;
begin

p1 :='ABCDE';
p2 :='12345';
p3 :='sdfde';

pT := p1 + p2 + p3;

end;

Warum geht das nicht oder wie muss ich das machen ?

Noch eine Andere Frage: Darf man AnsiString einer DLL übergeben?

Gruss

Aurus
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 20:36
Wenn du unter "Addiren" verstehst, dass es am Ende so aussieht: pT :='ABCDE12345sdfde'; dann würde ich es so machen:pT := pchar ( string(p1)+string(p2)+string(p3) );
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 20:41
Andere Möglichkeit: Delphi-Referenz durchsuchenStrCat
Zitat von Aurus:
Noch eine Andere Frage: Darf man AnsiString einer DLL übergeben?
Wenn du damit erreichen willst, dass man sie nur noch mit Delphi aufrufen kann: Ja .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#4

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 20:52
Hallo zusammen

Danke für den Tipp. Es geht zwar aber nicht wie ich mir das vorgestellt habe.

Ich will in einem String einen Schlüssel einfügen der Werte zwischen 0-255 hat und dann der Text der auch noch in diesem String ist mit diesem String XOR verschlüsseln. Leider klappt das nicht da vermutlich beim verschlüsseln auch Steuerzeichen oder andere Zeichen entstehen die gar keinen Platz einnehemen ?

Soll man für so was eher ein Stream verwerden ?


Gruss

Aurus
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 20:56
Zitat von Aurus:
Hallo zusammen

Danke für den Tipp. Es geht zwar aber nicht wie ich mir das vorgestellt habe.

Ich will in einem String einen Schlüssel einfügen der Werte zwischen 0-255 hat und dann der Text der auch noch in diesem String ist mit diesem String XOR verschlüsseln. Leider klappt das nicht da vermutlich beim verschlüsseln auch Steuerzeichen oder andere Zeichen entstehen die gar keinen Platz einnehemen ?

Soll man für so was eher ein Stream verwerden ?


Gruss

Aurus
neue Frage = neuer Thread
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#6

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 21:06
Warum neuen Thread?

Es kann ich noch sein dass ich falsch liege.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 21:08
also zur XOR Verschlüsselung solltest du genug Beispiel hier im Forum finden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#8

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 21:22
Es geht nicht um XOR-Beispiele.

Ich habe schon ein paar Verschlüsselungsprogramme geschieben, aber nie mit PChar.

Ich will einen String den ich mit PChar in eine DLL mit XOR verschlüsseln.
Ich verwende einen Schlüssel der mit einem Zufallsgenerator erstellt wurde.

Doch ich komme weniger Zeichen zurück. Anders gesagt die Grösse der PChar nicht immer gleich Grosse.


Wenn der Eingangsstring 30 Zeichen hat sollte ich ich auch 30 Zeichen zurück bekommen.


Das kann ich mir nicht erklären.


Gruss

Aurus



Function DLLCKey(AChar;Faktor:Integer)Char;
var
intGr :Integer;
intZA :Integer;
intZB :Integer;
IntB1 :Byte;
intB2 :Byte;
strTxt Char;
strKey Char;
strTot Char;
strFak Char;
const
K1 =16;
begin

Randomize;

strKey :='';

//Zufallsschlüssel erstellen
For intZA :=1 to K1 do
begin
strKey := strKey + Random(255);
end;


intZB := 0;
strTxt := A;
strFak := PChar(IntToHex(Faktor,6));
strTot :=pchar(string(strKey)+ string(strTxt)+string(strFak));
intGr :=Length(strTot);



//Verschlüsseln
For intZA := K1 to intGr - 1 do
begin

inc(intZB);
if intZB > K1 then intZB :=1;
IntB1 := Ord(strTot[intZA]);
intB2 := ORD(strKey[intZB]);
strTot[intZA] :=Char(intB1 XOR intB2);
end;


Result := strTot;

end;
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Wie kann ich 3 PChar addieren

  Alt 18. Jan 2006, 22:07
In einem PChar darf das Zeichen #0 nicht mittendrin vorkommen. Es darf nur und muss am Ende des PChars stehen.

Da deine Methode zur Schlüsselerzeugung und das XOR höchstwahrscheinlich früher oder später ein #0 hervorbringt, wird der PChar so vorzeitig terminiert.
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#10

Re: Wie kann ich 3 PChar addieren

  Alt 19. Jan 2006, 07:38
Hallo Mystic

Da wirst du wohl recht haben. Nur wie verhindere ich dass es eine Null gibt?


Gruss

Aurus
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:46 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