Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Wie wandle ih einen Text in eine Zahl um? (https://www.delphipraxis.net/175933-wie-wandle-ih-einen-text-eine-zahl-um.html)

DelphiProgrammer 30. Jul 2013 15:58

AW: Wie wandle ih einen Text in eine Zahl um?
 
Super!
Ich glaub mit MD5 versuche ichs mal!
Das ist ja nur eine pascal datei oder?
Kann ich den mit d7personal installieren?
Siehe "wo kriege ich indy her, und wie installiere ich es" auch ein thema von mir
LG Christopher

Aphton 30. Jul 2013 15:59

AW: Wie wandle ih einen Text in eine Zahl um?
 
Zitat:

Zitat von Perlsau (Beitrag 1223042)
Zitat:

Zitat von DelphiProgrammer (Beitrag 1223029)
Also, ich habe einen string. Darin ist ein text, der verschlüsselt werden soll.
Das stelle ich mor so vor:
Den string in eine zahl umwandeln
dann mit dieser zahl eine mathemathische rechnung machen,
sodass dann eine veränderte zahl herauskommt.
Und wie kann ich eben diesen text in eine zahl umwandeln?
Hexadezimal oder dual oder so?

Es gibt zahlreiche Verschlüsselungsmethoden. Was du hier angibst, ist jedoch nicht wirklich eine Verschlüsselungsmethode, sondern eine einfache Umwandlung von Buchstaben in entsprechende Zahlen. Ein String ansich ist nicht sinnvoll in eine Zahl umzuwandeln, um daraus später wieder den String zu erstellen. Du hast je 26 Groß- und Kleinbuchstaben, zwei mal drei Umlaute, das ß und zahlreiche Buchstaben mit Apostroph und ähnlichen Zeichen wie z.B. á und È usw. Wenn du jetzt einfach den Ordinalwert dieser Buchstaben zu einer Zahl zusammensetzt, z.B. 'Auto' ergäbe 65117116111, kannst du nicht wissen, ob eine Zahl aus zwei oder drei Ziffern besteht. Daher eignet sich dieser Algorithmus nicht dafür, Strings verschlüsselt zu speichern.

Warte wat? Da muss ich dir leider widersprechen!
Wenn man beispiels- & einfachheitshalber von AnsiStrings ausgeht, wo jedes Zeichen (Char) genau ein Byte groß ist, dann kann man die einzelnen Bytes als Zahlen interpretieren (anstatt Zeichen), damit mathematisch Unfug treiben und dann beliebig weiter damit rumhantieren!

Hier eine einfache Xor Verschlüsslung z.B.
Delphi-Quellcode:
procedure xorCrypt(var Str: String; const XorVal: Byte);
var
  i: Integer;
begin
  for i := 1 to Length(Str) do
    Str[i] := Byte(Str[i]) xor XorVal;
end;
Vlt. bezieht sich deine Aussage auf "ord()" welche letztendlich einen Ordinalwert zurückgibt, was im Grunde auch nur eine Zahl ist (nicht?)!

Edit: "Auto" ergibt übrigens nicht 65117116111, sondern 65 117 116 111 (man weiß ganz genau, wo die Zahl aufhört und wo sie beginnt!)

Perlsau 30. Jul 2013 16:18

AW: Wie wandle ih einen Text in eine Zahl um?
 
Zitat:

Zitat von implementation (Beitrag 1223045)
[OT]
Zitat:

Zitat von Perlsau (Beitrag 1223042)
und zahlreiche Buchstaben mit Apostroph

Zeig mir mal bitte 'nen Buchstaben mit Apostroph :stupid:
[/OT]

Du hast also bemerkt, daß ich eine unzutreffenden Begriff verwendet habe. Doch statt mich zu weiteren Blamagen treiben zu wollen, könntest du auch einfach den richtigen Begriff nennen. Mir ist er im Augenblick nicht gegenwärtig.

Perlsau 30. Jul 2013 16:26

AW: Wie wandle ih einen Text in eine Zahl um?
 
Zitat:

Zitat von Aphton (Beitrag 1223052)
Edit: "Auto" ergibt übrigens nicht 65117116111, sondern 65 117 116 111 (man weiß ganz genau, wo die Zahl aufhört und wo sie beginnt!)

Wenn er aus seinem String eine Zahl machen will und nicht mehrere, dann sieht die Zahl so aus: 65117116111. Was du angibst, sind aber vier verschiedene Zahlen. Er könnte auch die einzelnen Zahlen summieren oder multiplizieren, was ihn aber auch nicht weiter brächte. Der TE schrieb nichts davon, daß er aus einem String oder Text mehrere Zahlen machen möchte, sondern wie bereits gesagt nur eine: einen text, den ich dann irgendwie in eine Zahl umwandeln will. Und das führt definitiv nicht zum gewünschten Ziel :!:

Bjoerk 30. Jul 2013 17:54

AW: Wie wandle ih einen Text in eine Zahl um?
 
Oder den DecryptText halt mit Nullen auffüllen (065117116111). Dann kann man den Text auch vor dem Entschlüsseln auf Konsistenz prüfen (Length(S) mod 3 muß Null sein).


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.
Seite 2 von 2     12   

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