AGB  ·  Datenschutz  ·  Impressum  







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

xor verschlüsselung

Ein Thema von Jonson · begonnen am 30. Jan 2003 · letzter Beitrag vom 30. Jan 2003
Antwort Antwort
Jonson

Registriert seit: 10. Jun 2002
43 Beiträge
 
#1

xor verschlüsselung

  Alt 30. Jan 2003, 10:09
problem: zahl ’2343’ (string) kann hier nicht richtig verschlüsselt und.(oder) entschlüsselt werden. wer hat hier eine idee?


function key(s : string; ixor : byte = 52) : string;
var h : Integer;
begin
result := '';
for h := 1 to length(s) do result := result + chr(ord(s[h]) Xor ixor);
end;

’2342’ <> key(key(’2342’)) // warum???

andere zahlen funktionieren richtig

Jonson
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 30. Jan 2003, 11:42
Moin Johnson,

also bei mir funktioniert es, erwartungsgemäss, auch mit '2343' korrekt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Jonson

Registriert seit: 10. Jun 2002
43 Beiträge
 
#3
  Alt 30. Jan 2003, 12:04
moin Christian,

string := '2343'

allerdings wird zuerst der verschlüsselte string in memo1 kopiert (memo1.lines.add()) und für die entschlüsselung aus memo1 herausgeholt.

mfg jonson
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 30. Jan 2003, 12:10
Moin Jonson,

dann hab' ich eventuell auch die Ursache:

Wenn Du mit 52 xor verknüpfst, wird jede '4' zu einer binären Null, und dies wird als Ende des Strings angesehen.

Du müsstest Probleme mit jeder Zahl haben, die eine 4 enthält.

'4' = chr(52) !
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Jonson

Registriert seit: 10. Jun 2002
43 Beiträge
 
#5
  Alt 30. Jan 2003, 13:00
moin Christian,

ich kodiere alle möglichen zeichen (nicht nur zahlen). wie kann ich das problem bewältigen?

mfg Jonson
  Mit Zitat antworten Zitat
magic.christel

Registriert seit: 2. Jan 2003
18 Beiträge
 
Delphi 5 Professional
 
#6
  Alt 30. Jan 2003, 13:15
moin Jonson,

Zitat von Jonson:
moin Christian,

ich kodiere alle möglichen zeichen (nicht nur zahlen). wie kann ich das problem bewältigen?

mfg Jonson
Wandel es nicht einfach mit einem

... + chr(ord(s[h]) Xor ixor);

in einen Char, sondern lass es als Zahl:

... + right('00'+inttostr(ord(s[h]) Xor ixor),3);

So machst Du zwar aus jedem Zeichen 3 Zeichen, aber so geht es.

Beim zurückwandeln musst Du Dich dann immer drei Zeichen nehmen und die wieder in einen Char umrechnen.

Warum 3 Zeichen? Bei ASCII können eigentlich nur Werte zwischen 0 und 256 heraus kommen, somit ist die Maximale Länge: 3.

Bis dann

Christian
  Mit Zitat antworten Zitat
Jonson

Registriert seit: 10. Jun 2002
43 Beiträge
 
#7
  Alt 30. Jan 2003, 13:29
moin Christian,

du schreibst: Beim zurückwandeln musst Du Dich dann immer drei Zeichen nehmen und die wieder in einen Char umrechnen

ich weiß aber nicht wie? kannst du mir schreiben wie das geht?

danke Christian’s

mfg Jonson
  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 18:22 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