Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Verschlüsselung von Strings

122 views
Skip to first unread message

Andreas Menge

unread,
Dec 5, 2001, 11:07:41 AM12/5/01
to
Tach zusammen,

ich möchte möglichst simpel einen gegebenen String verschlüsseln, um ihn
z.B. in der Registry abzuspeichern. Dieser String muss natürlich durch mein
Programm wieder entschlüsselbar sein, um ihn z.B. an eine Datenbank als
Passwort weiterzureichen. Wie bewerkstellige ich sowas am besten? Google hat
mich zur Zeit nicht lieb und Torry überschüttet mich mit Komponenten, die
entweder oversized sind oder schlicht unbrauchbar.
Ich brauche keine Hochsicherheitslösung, es sollte aber auch nicht zu
trivial sein. Ich hatte eigentlich gehofft, dass Delphi bereits eine
Funktion für so etwas hätte, aber die OH gab dazu nichts her (oder war ich
blind?).

--
Andreas Menge
Genossenschaftsverband Berlin-Hannover e.V.
eMail: andrea...@geno.verband.de

Christian Estler

unread,
Dec 5, 2001, 12:45:31 PM12/5/01
to
Hallo Andreas

"Andreas Menge" <andrea...@geno-verband.de> schrieb im Newsbeitrag
news:9ulgmc$95i$03$1...@news.t-online.com...
> Tach zusammen,

> Ich brauche keine Hochsicherheitslösung, es sollte aber auch nicht zu
> trivial sein.

Für deine Zwecke könntest du gut das "Cäser" Verfahren anwenden. D.h. du
ersetzt einfach einen
Buchstaben durch einen anderen. Eine Funktion dafür sähe in etwa so aus:

function Crypt(Text: String): String;
var
OWert, i: Integer;
begin
result := '';
for i := 1 to length(Text) do
begin
OWert := Ord(Text[i]);
OWert := OWert + 10;
result := result + Chr(OWert);
end;
end;

//Nun die Funktion zum Entschlüsseln...

function Encrypt(Text: String): String;
var
OWert, i: Integer;
begin
result := '';
for i := 1 to length(Text) do
begin
OWert := Ord(Text[i]);
OWert := OWert - 10;
result := result + Chr(OWert);
end;
end;


Du kannst das ganze natürlich noch ein wenig komplizieren und anstatt der
Addition mit 10
einfach noch mehr Rechenoperationen ausführen.
Du könntest das ganze auch als Zahl abspeichern und nur in deinem Programm
zum Stirng wandeln.
Dir stehen also viele Möglichkeiten offen.... :-)

Mfg

Christian

Joachim Mohr

unread,
Dec 5, 2001, 2:47:40 PM12/5/01
to


> function Crypt(Text: String): String;
> var
> OWert, i: Integer;
> begin
> result := '';
> for i := 1 to length(Text) do
> begin
> OWert := Ord(Text[i]);
> OWert := OWert + 10;
> result := result + Chr(OWert);
> end;
> end;

Eine Bemerkung hierzu: Dein String, darf dann allerdings Zeichen c mit
ord(c)< 255 -10 haben.

Dies habe ich berücksichtigt in "Cäsarverschhüsselung" in

http://delphi.zsg-rottenburg.de/krypt.html
Dort ist auch ein einfaches Verfahren zur Passwortverschüsselung
angegeben. In unserem wäre es halt eine Passwortverschlüsselung zur
Passwortverschlüsselung.

MFG Joachim Mohr
http://delphi.zsg-rottenburg.de

Ulf Schaper

unread,
Dec 5, 2001, 2:59:13 PM12/5/01
to
| ich möchte möglichst simpel einen gegebenen String verschlüsseln, um ihn
| z.B. in der Registry abzuspeichern. Dieser String muss natürlich durch mein
| Programm wieder entschlüsselbar sein, um ihn z.B. an eine Datenbank als
| Passwort weiterzureichen. Wie bewerkstellige ich sowas am besten?

mit XOR.

| Google hat
| mich zur Zeit nicht lieb und Torry überschüttet mich mit Komponenten, die
| entweder oversized sind oder schlicht unbrauchbar.

XOR ist einfach.

| Ich brauche keine Hochsicherheitslösung, es sollte aber auch nicht zu
| trivial sein.

Es kommt auf den Key an, wie sicher XOR ist.

| Ich hatte eigentlich gehofft, dass Delphi bereits eine
| Funktion für so etwas hätte, aber die OH gab dazu nichts her (oder war ich
| blind?).

XOR ist dafür prädestiniert.

Weiteres findest du bestimmt in Simons FAQ.

Ulf

--
Auf der Packung stand "Windows 95 oder besser".
Mit Linux ging es nicht.
Was ist nun "besser"?

Mario Fischer

unread,
Dec 5, 2001, 7:17:52 PM12/5/01
to
> | Ich brauche keine Hochsicherheitslösung, es sollte aber auch nicht
zu
> | trivial sein.
>
> Es kommt auf den Key an, wie sicher XOR ist.

Mhhmmm,...............
Davon haengt es nicht ab
1. falls der Key sowieso fest im Quell/Maschinencode der Anwendung
drinsteht,
2. da eine verschluesselung im allgemeinen nicht fuer Key == 0x12345678
unsicherer ist als fuer Key == 0x98765432 ist

man sollte nicht zuviel erwarten wenn eine anwendung daten
verschluesselt irgendwo ablegt und den schluessel dafuer aber selber
fest einprogrammiert hat.

Mario

Ulf Schaper

unread,
Dec 6, 2001, 12:39:11 AM12/6/01
to
| > | Ich brauche keine Hochsicherheitslösung, es sollte aber auch nicht
| zu
| > | trivial sein.
| >
| > Es kommt auf den Key an, wie sicher XOR ist.
|
| Mhhmmm,...............
| Davon haengt es nicht ab
| 1. falls der Key sowieso fest im Quell/Maschinencode der Anwendung
| drinsteht,

Das muss ja nicht sein. Er kann ja auch während der Laufzeit berechnet
werden. Zugegeben, das ist auch eine Sicherheitslücke.

| 2. da eine verschluesselung im allgemeinen nicht fuer Key == 0x12345678
| unsicherer ist als fuer Key == 0x98765432 ist

1. aber beide antworten sind sicherer als 0x11111...
2. Wenn du kein Muster im Key hast, wer soll dann eins in dem
verschlüsselten String erkennen?



| man sollte nicht zuviel erwarten wenn eine anwendung daten
| verschluesselt irgendwo ablegt und den schluessel dafuer aber selber
| fest einprogrammiert hat.

ACK, bloß mach einen besseren Vorschlag, der ähnlich einfach ist.

Michael Dahm

unread,
Dec 6, 2001, 1:27:25 AM12/6/01
to
Hallo Andreas,

ich habe noch einen anderen Vorschlag, allerdings basiert er auch auf einer
Komponente.
Schau doch mal auf www.crypto-central.com vorbei.

Dort findest Du viele verschiedene Verschlüsselungskomponenten.
Wenn Du auf den Source verzichten kannst, sogar als Freeware.
(Mal schauen wer jetzt wieder schimpft weil fehlender Source eine
Sicherheitslücke ist...)

Die Komponenten sind nicht zu groß, superleicht in der Anwendug (z.B.
Twofisch -Stringverschlüsselung 3! Zeilen) - und das was da raus kommt,
knackt Dir auch kein Gelegenheits-Semi-Hacker aus Deiner Kollegen- (oder
Anwenderkreis) mal gerade nebenbei - oder mit ein wenig Rechnerspielzeug.

mfg
Michael


"Andreas Menge" <andrea...@geno-verband.de> schrieb im Newsbeitrag
news:9ulgmc$95i$03$1...@news.t-online.com...

Andreas Menge

unread,
Dec 6, 2001, 7:41:04 AM12/6/01
to
"Michael Dahm" <md...@pc-p.com> schrieb im Newsbeitrag
news:9un536$gu3$05$1...@news.t-online.com...

> ich habe noch einen anderen Vorschlag, allerdings basiert er auch auf
einer
> Komponente.
> Schau doch mal auf www.crypto-central.com vorbei.

Besten Dank, genau sowas habe ich gesucht!

Patrick Dinger

unread,
Dec 7, 2001, 6:35:57 AM12/7/01
to
"Ulf Schaper" <UlfSc...@gmx.de> schrieb im Newsbeitrag
news:02vs0uonu0f4mo25s...@4ax.com...

> mit XOR.

Was ist XOR? Wo finde ich weiterführende Informationen zu XOR?

thx
--
mfg
Patrick 'paXos' Dinger
>> Win2k, Delphi6 <<


Klaus Rascher

unread,
Dec 7, 2001, 8:47:25 AM12/7/01
to

"Patrick Dinger" <paX...@gmx.de> schrieb im Newsbeitrag
news:9uq9f8$ci$02$1...@news.t-online.com...

> > mit XOR.
>
> Was ist XOR? Wo finde ich weiterführende Informationen zu XOR?

OH: Operatoren
R. Sedgewick Algorithmen ISBN 3-89319-402-9

Bye
Klaus


Patrick Dinger

unread,
Dec 7, 2001, 9:29:26 AM12/7/01
to
"Klaus Rascher" <ras...@tele-arbeit.de> schrieb im Newsbeitrag
news:9uqh6m$c0c$02$1...@news.t-online.com...

> R. Sedgewick Algorithmen ISBN 3-89319-402-9

Gibt es auch Onlinequellen (kostenlos) dazu?

Ralf Mimoun

unread,
Dec 7, 2001, 9:35:05 AM12/7/01
to
Moin!

"Patrick Dinger" <paX...@gmx.de> schrieb im Newsbeitrag

news:9uqjkh$qc0$03$1...@news.t-online.com...


> "Klaus Rascher" <ras...@tele-arbeit.de> schrieb im Newsbeitrag
> news:9uqh6m$c0c$02$1...@news.t-online.com...
>
> > R. Sedgewick Algorithmen ISBN 3-89319-402-9
> Gibt es auch Onlinequellen (kostenlos) dazu?

Ja, die Online-Hilfe, wioe Klaus schon schrieb. XOR ist eine der
elementarsten Operationen eines Computers. Um genau zu sein, reicht XOR
eigentlich für alles. Wenn Du nicht mal das kennst, solltest Du _dringendst_
ein paar Anfängerbücher kaufen und lesen. Und ja, für Wissen muß man i.A.
zahlen.

Bye, Ralf


Simon Reinhardt

unread,
Dec 7, 2001, 1:32:18 PM12/7/01
to
"Patrick Dinger" <paX...@gmx.de> schrieb in news:9uqjkh$qc0$03$1@news.t-
online.com:

>> [XOR-Verschlüsselung]


>
> Gibt es auch Onlinequellen (kostenlos) dazu?

Hilfe zu diesem Thema (und zu vielen anderen) findest Du in meiner Delphi
Fundgrube (Abschnitt "Verschiedenes").


Simon
--
Der Kopf ist rund, damit das Denken die Richtung wechseln kann.

Homepage: http://www.pics-software.de
Delphi Fundgrube: http://www.pics-software.de/faq.htm

Klaus Rascher

unread,
Dec 7, 2001, 4:04:31 PM12/7/01
to

"Patrick Dinger" <paX...@gmx.de> schrieb im Newsbeitrag
news:9uqjkh$qc0$03$1...@news.t-online.com...

> "Klaus Rascher" <ras...@tele-arbeit.de> schrieb im Newsbeitrag
> news:9uqh6m$c0c$02$1...@news.t-online.com...
>
> > R. Sedgewick Algorithmen ISBN 3-89319-402-9
> Gibt es auch Onlinequellen (kostenlos) dazu?

Schon möglich, brauch ich aber nicht.
Weil 1. hab ich den Segdewick,
2. die OH und
3. ist mit XOR bereits 1978 das erste mal begegnet

Bye
Klaus


Marian Aldenhoevel

unread,
Dec 8, 2001, 7:41:48 AM12/8/01
to
Hi,

> Was ist XOR?

Ein logischer Operator, gerne auch "exklusives oder" genannt, also ein
"entweder oder". Hier ist die bitweise Anwendung dieses Operators gemeint.

> Wo finde ich weiterführende Informationen zu XOR?

In einem Logikbuch, in Deiner Onlinehilfe, eigentlich überall.

Zu Verschlüsselungszwecken ist XOR als One-Time-Pad ausgezeichnet geeignet.
Das bedeutet, daß der Schlüssel so lang sein muss wie die Nutzdaten, und
nur einmal benutzt werden darf. Sind alle diese Bedingungen erfüllt ist das
Verfahren beweisbar unknackbar.

Ist eine oder die andere (nicht exklusiv :-) verletzt, dann ist es direkt
Pipifax. Quadrat-Pipifax ist es, wie jedes Verfahren oder sogar jedes reale
Schloss, wenn der Schlüssel mit ausgeliefert wird.

Der Code für eine XOR-Verschlüsselung ist unter 10 Zeilen lang, ich habe
ihn selber sicher schon siebzehndreissigmal hier gepostet, frag Google.

Ciao, MM
--
Marian Aldenhövel, Hainstraße 8, 53121 Bonn
http://www.marian-aldenhoevel.de
"Wussten Sie, daß schon der Biss eines einzigen
Pferdes eine Hornisse töten kann?"

Patrick Dinger

unread,
Dec 8, 2001, 9:21:47 AM12/8/01
to
Danke für die Antwort?

Andreas Schmer

unread,
Dec 10, 2001, 10:56:25 AM12/10/01
to
Hallo!

Es gibt eine eigene Crypto-API. Die Befehle fangen alle mit crypt an.
Schau mal in der API-OH nach.

Ich selber habe die Crypto-API noch nie ernsthaft verwendet, nur
einmal ausprobiert. Mir scheint aber, daß diese überhaupt recht
unbekannt ist.

Vielleicht kenn sich ja einer damit aus und kann mir sagen, ob diese
Crypto-API einfach nur unbekannt ist, schwer zu verwenden oder
vielleicht fehleranfällig.

Gruß
Andreas

0 new messages