/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Kryptering
Fra : // Overby


Dato : 21-09-01 11:37

Hejsa

Jeg skal lave et lille krypteringsprogram. Findes der en indbygget funktion
i Delphi 4, der kan kryptere en streng?

Hvis ikke, hvordan kan man ligge f.eks. 2 til ASCII værdien, sådan at 'a'
bliver til 'c'.

Hilsen
Daniel



 
 
// Overby (21-09-2001)
Kommentar
Fra : // Overby


Dato : 21-09-01 11:39

> Hvis ikke, hvordan kan man ligge f.eks. 2 til ASCII værdien, sådan at 'a'
> bliver til 'c'.

Eller lettest. Lægge 2 til alle tegene i strengen.



Ingolf (21-09-2001)
Kommentar
Fra : Ingolf


Dato : 21-09-01 12:40

function EncryptString(ST: string; Skub : byte) : string;

var
tel : word;
nyst : string;

begin
nyst:='';
for tel:=1 to length(st) do nyst:=nyst+chr(ord(st[tel]+Skub) mod 255);
Result:=nyst;
end;

Showmessage(EncryptString('Dette er en test',2));

Regards
Ingolf

" // Overby" <danieloverby@hotmail.com> wrote in message
news:9of5ac$fd2$1@sunsite.dk...
> > Hvis ikke, hvordan kan man ligge f.eks. 2 til ASCII værdien, sådan at
'a'
> > bliver til 'c'.
>
> Eller lettest. Lægge 2 til alle tegene i strengen.
>
>



// Overby (21-09-2001)
Kommentar
Fra : // Overby


Dato : 21-09-01 12:59

Jeg får at vide, at der er 'incompatible types', når jeg prøver at køre
programmet. Jeg har lige tilpasset det og taget modulet med, hvorfra jeg
kalder funktionen.

function EncryptString(Temp: string; Skub: byte) : string;
var
tel: word;
nyst: string;
begin
nyst:='';
for tel:=1 to length(Temp) do
nyst:=nyst+chr(ord(Temp[tel]+Skub)mod 255);
Result:=nyst;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Temp: string;
begin
if Edit1.Text='' then
ShowMessage('Ingen fil indlæst ellers er filen tom!')
else
while not eof(TekstFil) do
begin
Readln(TekstFil, Temp);
Edit1.Text:=EncryptString(Temp,2);
end;
end;






Uffe Kousgaard (21-09-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 21-09-01 15:15

> nyst:=nyst+chr(ord(Temp[tel]+Skub)mod 255);

nyst:= nyst+chr( (ord(Temp[tel]) + Skub) mod 255);

Fungerer ovenstående ikke bedre ?

Hilsen
Uffe




// Overby (22-09-2001)
Kommentar
Fra : // Overby


Dato : 22-09-01 02:41

> Fungerer ovenstående ikke bedre ?
joh tak



R. A. Larsen (22-09-2001)
Kommentar
Fra : R. A. Larsen


Dato : 22-09-01 09:08

"Uffe Kousgaard" <uffe@routeware.dk> wrote:
>
> nyst:= nyst+chr( (ord(Temp[tel]) + Skub) mod 255);
>

Det var måske bedre hvis han brugte:

nyst:= nyst+chr((ord(Temp[tel])+Skub) mod 256);
^^^
Bemærk, at 255 er erstattet med 256. I den version Uffe giver,
returneres 0, hvis "(ord(Temp[tel])+Skub)" bliver 255 eller 0.

MVH, René
--
Using Virtual Access
http://www.vamail.com


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste