Re: encryption with Delphi


[ DelphiLand FAQ ]

Posted by ann on July 21, 2004 at 23:59:09:

In Reply to: Re: encryption with Delphi posted by webmaster Guido on July 15, 2004 at 18:29:21:

I tried that code and it doesnt work.


: : can someone please tell me how to call the function to encrypt or decrypt... i found some code online and it seems to work without error but i dont know how to get it to call it. I just want an editbox and have the encrypted message go into another editbox. same for the decrypted message. here is the code i got.

: : unit Crypt32;
: : interface
: : const
: : StartKey = 981; {Start default key}
: : MultKey = 12674; {Mult default key}
: : AddKey = 35891; {Add default key}

: : function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
: : function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;

: : implementation
: : {$R-}
: : {$Q-}
: {*******************************************************
: : * Standard Encryption algorithm - Copied from Borland *
: : *******************************************************}
: : function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
: : var
: : I : Byte;
: : begin
: : Result := '';
: : for I := 1 to Length(InString) do
: : begin
: : Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
: : StartKey := (Byte(Result[I]) + StartKey) * MultKey + AddKey;
: : end;
: : end;
: : {*******************************************************
: : * Standard Decryption algorithm - Copied from Borland *
: : *******************************************************}
: : function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
: : var
: : I : Byte;
: : begin
: : Result := '';
: : for I := 1 to Length(InString) do
: : begin
: : Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
: : StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
: : end;
: : end;
: : {$R+}
: : {$Q+}
: : end.
: ----------------------------------------

: Example of use:

: unit Test;
: interface
: ...
: ...
: implementation

: {$R *.DFM}
: uses Crypt32;

: var SEncrypted: string;

: procedure TForm1.btnEncryptClick(Sender: TObject);
: begin
: SEncrypted := Encrypt(Edit1.Text, StartKey, MultKey, AddKey);
: Edit2.Text := SEncrypted;
: end;

: procedure TForm1.btnDecryptClick(Sender: TObject);
: begin
: Edit3.Text := Decrypt(SEncrypted, StartKey, MultKey, AddKey);
: end;

: Instead of StartKey, MultKey and AddKey, you can specify integer numbers of your choice, but of course use the same numbers for encrypting and decrypting. For example:

: SEncrypted := Encrypt(Edit1.Text, 817, 3007, 19411);
: ...
: Edit3.Text := Decrypt(SEncrypted, 817, 3007, 19411);




Related Articles and Replies


[ DelphiLand FAQ ]