|
| 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
| |
|
|