Phil Scadden wrote:
> here is my favourite, very simple string to hex gobbledegooker.
>
> Function Encrypt (Src:String; Key:String; Encrypt : Boolean):string;
> var
> idx :integer;
> KeyLen :Integer;
> KeyPos :Integer;
> offset :Integer;
> dest :string;
> SrcPos :Integer;
> SrcAsc :Integer;
> TmpSrcAsc :Integer;
> Range :Integer;
>
> begin
> KeyLen:=Length(Key);
> if KeyLen = 0 then key:='235jhsf9msf;&#@*#';
> KeyPos:=0;
> SrcAsc:=0;
> Range:=256;
> if Encrypt then
> begin
> Randomize;
> offset:=Random(Range);
> dest:=format('%1.2x',[offset]);
> for SrcPos := 1 to Length(Src) do
> begin
> SrcAsc:=(Ord(Src[SrcPos]) + offset) MOD 255;
> if KeyPos < KeyLen then KeyPos:= KeyPos + 1
> else KeyPos:=1;
> SrcAsc:= SrcAsc xor Ord(Key[KeyPos]);
> dest:=dest + format('%1.2x',[SrcAsc]);
> offset:=SrcAsc;
> end;
> end
> else
> begin
> offset:=StrToInt('$'+ copy(src,1,2));
> SrcPos:=3;
> repeat
> SrcAsc:=StrToInt('$'+ copy(src,SrcPos,2));
> if KeyPos < KeyLen Then KeyPos := KeyPos + 1
> else KeyPos := 1;
> TmpSrcAsc := SrcAsc xor Ord(Key[KeyPos]);
> if TmpSrcAsc <= offset then
> TmpSrcAsc := 255 + TmpSrcAsc - offset
> else
> TmpSrcAsc := TmpSrcAsc - offset;
> dest := dest + chr(TmpSrcAsc);
> offset:=srcAsc;
> SrcPos:=SrcPos + 2;
> until SrcPos >= Length(Src);
> end;
> Result:=Dest;
> end;
>
> ----------------------------------------------------------
> Phil Scadden, Institute of Geological and Nuclear Sciences
> 41 Bell Rd South, PO Box 30368, Lower Hutt, New Zealand
> Ph +64 4 5704821, fax +64 4 5704603
>
> --------------------------------------------------------------
> -------------
> New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
>
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"
Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/