home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* CHIFFRE.PAS *)
- (* Prozeduren zum Ver- und Entschlüsseln von Meldungen *)
- (* (c) 1988 by Zbigniew Szakaradnik und TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM Chiffre;
-
- TYPE strn = STRING[80];
-
- VAR key : strn;
-
- FUNCTION Encode (src: strn): strn;
- VAR i, ns, nr: INTEGER;
- res : strn;
- BEGIN
- FOR i:=1 TO Length(src) DO BEGIN
- ns := Ord(src[i]) - 31;
- nr := Ord(Key[i Mod (Length(Key)) + 1]) - 31;
- res[i] := Chr((ns + nr) Mod 224 + 31);
- END;
- res[0] := Chr(Length(src));
- Encode := res;
- END;
-
- FUNCTION Decode (src: strn): strn;
- VAR i, ns, nr: INTEGER;
- res : strn;
- BEGIN
- FOR i:=1 TO Length(src) DO BEGIN
- ns := Ord(src[i]) - 31;
- nr := Ord(Key[i Mod (Length(Key)) + 1]) - 31;
- res[i] := Chr((ns - nr + 224) Mod 224 + 31);
- END;
- res[0] := Chr(Length(src));
- Decode := res;
- END;
-
- VAR s, t, v: strn;
-
- BEGIN
- Key := 'Geheim';
- t := '(c) Zbigniew Szkaradnik';
- s := Encode(t); WriteLn(s);
- v := Decode(s); WriteLn(v);
- REPEAT UNTIL KeyPressed;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von CHIFFRE.PAS *)