Avatar billede morten_s Nybegynder
25. juni 2002 - 21:49 Der er 9 kommentarer og
1 løsning

Simpel kryptering

Mangler en 'lille' simpel krypterings rutine så et password ikke kan læses direkte i databasen, bare noge med at and(e/or(e)) en værdi eller lignende
Avatar billede soreno Praktikant
25. juni 2002 - 21:56 #1
det er nok xor du mener, efter lidt søgning på google fandt jeg noget du måske kan bruge som inspiration:
http://delphi.icm.edu.pl/ftp/d10free/clcrypt.zip
Avatar billede freeall Nybegynder
26. juni 2002 - 00:03 #2
Det du skal lede efter hedder kaos matematik. Den mest simple form for kryptering... ... ... . ....
Avatar billede borrisholt Novice
26. juni 2002 - 08:25 #3
prøv der her :

procedure FastCrypt(ptrBuffer: Pointer; iSize: Integer; uiInit: Byte = $00);
var
  iIdx      : Integer;
  uiCurrByte : Integer;
  uiLastByte : Integer;
begin
  uiLastByte := 0;

  for iIdx := 1 to iSize do
  begin
    uiCurrByte := Byte(ptrBuffer^);
    uiCurrByte := uiCurrByte xor uiLastByte;
    uiCurrByte := not uiCurrByte;
    uiCurrByte := uiCurrByte xor uiInit;
    uiCurrByte := ((uiCurrByte and $0F) shl 4) or ((uiCurrByte and $F0) shr 4);
    uiLastByte := uiCurrByte;
    Char(ptrBuffer^) := Char(uiCurrByte);
    inc(pChar(ptrBuffer));
  end;
end;

procedure FastDeCrypt(ptrBuffer: Pointer; iSize: Integer; uiInit: Byte = $00);
var
  iIdx      : Integer;
  uiCurrByte : Byte;
  uiLastByte : Byte;
begin
  uiLastByte := 0;
  for iIdx := 1 to iSize do
  begin
    uiCurrByte := Byte(ptrBuffer^);
    uiCurrByte := ((uiCurrByte and $0F) shl 4) or ((uiCurrByte and $F0) shr 4);
    uiCurrByte := uiCurrByte xor uiInit;
    uiCurrByte := not uiCurrByte;
    uiCurrByte := uiCurrByte xor uiLastByte;
    uiLastByte := Byte(ptrBuffer^);
    Char(ptrBuffer^) := char(uiCurrByte);
    inc(pChar(ptrBuffer));
  end;
end;



Jens B
Avatar billede lanstorp Nybegynder
26. juni 2002 - 09:53 #4
Jens >> Har du et ekempel for hvordan procedurerne kaldes, hvis man har en string str := 'hemmeligt', der skal krypteres og bagefter dekrypteres.
Avatar billede borrisholt Novice
26. juni 2002 - 10:00 #5
Prøv at smide tre memo felter på en form samt en knap.

Og skriv så det følgende kode til din knap :

procedure TForm1.Button1Click(Sender: TObject);
var
  s : String;
begin
  s := Memo1.Lines.Text;
  FastCrypt(pointer(s), length(s));
  Memo2.Lines.Text := s;
  s := Memo2.Lines.Text;
  FastDeCrypt(pointer(s), length(s));
  Memo3.Lines.Text := s;
end;


Jens B
Avatar billede lanstorp Nybegynder
26. juni 2002 - 10:06 #6
Takker, hvorfor er der altid hurtigere hjælp at få på Eksperten-Delphi end Eksperten-VB :)
Avatar billede borrisholt Novice
26. juni 2002 - 10:08 #7
fordi VB stinker af Mickey Mouse !

Jens B
Avatar billede lanstorp Nybegynder
26. juni 2002 - 10:10 #8
he he ...
Avatar billede yousif Nybegynder
26. juni 2002 - 10:30 #9
tsk tsk tsk.. nu skal i ikke være onde ved mickey mouse :)
Avatar billede morten_s Nybegynder
26. juni 2002 - 12:26 #10
Jens B> Du er en stjerne.....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester