Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Verschlüsselungsproggi erstellen (https://www.delphipraxis.net/67179-verschluesselungsproggi-erstellen.html)

toredo 10. Apr 2006 19:29


Verschlüsselungsproggi erstellen
 
hay,

kaum war ich mit dme lovetester fertig bin ich wieder mal auf "eigene dateien" gegangen.
dort bin ich auf die Verschlüsselung.txt gekommen.
da hab ich ne möglichkeit texte zu verschlüsseln drin, die ich schon mal nem progger gegeben habe, der aber irgendwann einfach weg war und das projekt war somit nicht mehr da...
hier die txt mit der anleitung zum verschlüsseln:
Code:
|-----------------------------------|
|Verschlüsselungstechnik bei dsb.8-)|
|-----------------------------------|
_______
n v1 v2
_______
a=AA=98      Was wird gebraucht?
b=AB=99      1.Die kleine Tabelle links
c=AC=11      2.Ein Text zum verschlüsseln
d=AD=12      3.Ein PW (muss eine natürliche Zahl sein) um den Text zu verschlüsseln
e=AE=13      
f=AF=14      Testangaben:
g=AG=15      Text:    dsb.8-)
h=AH=16      PW:   2
i=AI=17      
j=BA=18      Verschlüsselung:
k=BB=19      1.Den Text in v1 umwandeln:
l=BC=21      dsb.8-)
m=BD=22      =
n=BE=23      ADCAABHAGFHEHI
o=BF=24      
p=BG=25      2.Nun wird von dem Text in v1 jeder zweite Buchstabe weggenommen und hinten angesetzt:
q=BH=26      ADCAABHAGFHEHI
r=BI=27      =
s=CA=28      A C A H G H H
t=CB=29       D A B A F E I
u=CC=31      =
v=CD=32      ACAHGHHDABAFEI
w=CE=33      
x=CF=34      3.Das letze Ergebnis in v2 umwandeln:
y=CG=35      Ac AH GH HD AB AF EI
z=CH=36      =
A=CI=37      11 16 76 82 99 14 57
B=DA=38      =
C=DB=39      11167682991457
D=DC=41      
E=DD=42      4.Wieder so vertauschen wie bei 2:
F=DE=43      1 1 7 8 9 1 5
G=DF=44       1 6 6 2 9 4 7
H=DG=45      =11789151662947
I=DH=46      
J=DI=47      5.Das Ergebnis in n umwandeln:
K=EA=48       11 78 91 51 66 29 47
L=EB=49      =
M=EC=51      c . !  M 1  t J
N=ED=52      =
O=EE=53      c.!M1tJ
P=EF=54      
Q=EG=55      6.Die Zeichen um PW (im bsp hier 2) Stellen nach unten verschieben:
R=EH=56      c.!M1tJ
S=EI=57      =
T=FA=58      e; O3vL
U=FB=59      
V=FC=61      7.Das wieder in v1 umwandeln:
W=FD=62      e; O3vL
X=FE=63      =
Y=FF=64      AEHCIEEEGACDEB
Z=FG=65      
1=FH=66      8.Die Zeichen PW (im bsp hier 2) Mal so wie bei 2 und 4 vertauschen:
2=FI=67      A H I E G C E
3=GA=68       E C E E A D B
4=GB=69      =
5=GC=71      AHIEGCEECEEADB
6=GD=72      =
7=GE=73      A I G E C E D
8=GF=74       H E C E E A B
9=GG=75      =
0=GH=76      AIGWCEDHECEEAB
,=GI=77      
.=HA=78      9.Das ganze in v2 machen:
:=HB=79      AI GE CE DH EC EE AB
;=HC=81      =
_=HD=82      17 73 33 46 51 53 99
-=HE=83      =
\=HF=84      17733346515399
/=HG=85      
"=HH=86      10.Die Zeichen PW (im bsp hier 2) Mal so wie bei 2 und 4 vertauschen:
)=HI=87      1 7 3 4 5 5 9 
(=IA=88       7 3 3 6 1 3 9
?=IB=89      =
!=IC=91      17345597336139
==ID=92      =
 =IE=93      1 3 5 9 3 6 3 
+=IF=94       7 4 5 7 3 1 9
*=IG=95      =
<=IH=96      13593637457319
>=II=97      
      11.Das noch in n machen:
      13 59 36 37 45 73 19
      =
      e U z A H 7  k
      =
      eUzAH7k

      "eUzAH7k" ist nun das Ergebnis, und darauf zu kommen, dass das dsb.8-) heisst ist relativ schwer...


      mfG dsb.8-)
dsb.8-) bin ich, nicht dass ihr denkt, dass ich die txt geklaut hab;)
den teil, bei dem die buchstaben in zahlen und so umgewandelt werden kann ich, glaub ich, mit Array of Integer machen, aber beim vertauschen weiss ich nicht wie ichs machen kann...



mfG toredo

Klaus01 11. Apr 2006 07:15

Re: Verschlüsselungsproggi erstellen
 
Guten Morgen,

Zitat:

2.Nun wird von dem Text in v1 jeder zweite Buchstabe weggenommen und hinten angesetzt:
ADCAABHAGFHEHI
=
A C A H G H H
D A B A F E I
Delphi-Quellcode:
function moveChar(s:String;mv :Byte):String;
var
  i:byte;
  s1:String;
begin
  s1:='';

  for i:=1 to length(s) do
    if i mod mv <> 0 then
      s1:=s1+s[i];

  for i:=1 to length(s) div mv do
    s1:=s1+s[i*mv];

  result := s1;

end;

Zitat:

3.Das letze Ergebnis in v2 umwandeln:
y=CG=35 Ac AH GH HD AB AF EI
z=CH=36 =
A=CI=37 11 16 76 82 99 14 57
B=DA=38 =
C=DB=39 11167682991457
Hierbei wäre es angebracht wenn v2 vom Typ String oder shortString wäre.
Mit dem Typ Integer kannst Du die Ziffern nicht so zusammenhängen.

Zitat:

5.Das Ergebnis in n umwandeln:
11 78 91 51 66 29 47
=
c . ! M 1 t J
=
c.!M1tJ
Hierbei hilft Dir die Function StrToInt und chr.
Du mußt aus Deinem String nur immer zwei Zeichen zusammenfassen.

Delphi-Quellcode:
function convert(s:string):String;
var
  i:Byte;
  s1 :String;
begin
  s1:='';
  for i:=0 to length(s)-1 div 2 do
    begin
      s1:=s1+chr(StrToInt(s[(i*2)+1]+s[(i*2)+2]));
    end;
end;

Für den Anfang sollte das erst einmal reichen.
Das ist alles ungetestet und soll Dir nur ein paar Denkanstöße geben.

Grüße
Klaus

HuxXx 12. Apr 2006 12:21

Re: Verschlüsselungsproggi erstellen
 
Hi...!

Wenn du ein gescheites Verschlüsselungsprogramm erstellen willst, solltest du auf TOrry nach gescheiten Units oder Codes suchen...
Oder was auch gut ist...: Z.B RSA Verfahren..., das is eigentlich ganz leicht zu proggn...

Greetz by Hux :dp:

toredo 12. Apr 2006 22:14

Re: Verschlüsselungsproggi erstellen
 
Zitat:

Zitat von HuxXx
Hi...!

Wenn du ein gescheites Verschlüsselungsprogramm erstellen willst, solltest du auf TOrry nach gescheiten Units oder Codes suchen...
Oder was auch gut ist...: Z.B RSA Verfahren..., das is eigentlich ganz leicht zu proggn...

Greetz by Hux :dp:

jops von dem rsa-zeugs hab ich grade auch was erfahren von nem kumpl, aber ich werd mit dem ganzen zeug noch ne weile warten, weil grade noch ein anderes delphi-projekt in den weg kam, das wichtiger ist^^

aber ich werde später den thread nochmal weitermachen^^



mfG toredo


Alle Zeitangaben in WEZ +1. Es ist jetzt 15: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