[Back to MISC SWAG index] [Back to Main SWAG index] [Original]
{
The example that changes color and echos '*'s is nice, but does it compensate
for delete/backspace/enter keypresses?
The one I posted was intended when I wrote it to be a UNIX like password
input, where the cursor just sits there and doesn't react.
Does anyone want a simple password entry/encryption unit?
(I'll give it to you anyways.. ) :)
--CUT HERE-- }
unit crypt;
{AmoebOS v1.0 - Password/Cryyptography unit}
{Simple password entry and encryption routines}
{(C)1994 Matt Sottile/RAMSoft! Freeware}
{Please notify the author if you use or modify this unit in any way}
{Internet mail : matts@caeser.geog.pdx.edu or matts@psg.com}
{ ramsoft@industrial.com}
interface
function noecho(pmt : string) : string;
function pwcrypt(op : string) : string;
implementation
uses Crt, Dos;
function noecho(pmt : string) : string;
var
ch : char;
d : boolean;
temp, st : string;
begin
write(pmt);
d := false;
temp := '';
st := '';
repeat
temp := st;
repeat until keypressed;
ch := readkey;
if (ch = chr(8)) then st := temp;
if (ch = chr(13)) then d := true;
if not ((ch = chr(8)) and (ch = chr(13))) then st := st+ch;
until d = true;
noecho := temp;
writeln;
end;
function pwcrypt(op : string) : string;
var
ptr : integer;
ip : string;
begin
ip := '';
ptr := 1;
repeat
ip := ip+chr(((ord(op[ptr])+ord(op[length(op)-ptr]) xor length(op))));
ip[ptr] := chr(ord(ip[ptr])+2);
inc(ptr);
until ptr = length(op)+1;
pwcrypt := ip;
end;
begin
end.
[Back to MISC SWAG index] [Back to Main SWAG index] [Original]