home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
coders
/
arexx
/
misc_arexx
/
crypt2.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1997-03-30
|
2KB
|
183 lines
/*
Warp's Silly crypter v1.0 by Fini 'Warp' Alring ©Thu Feb 27 22:42:06 1997
Used to encrypt ASCII strings, quite safe for ordinary privacy...
Drawback: Data takes up five times as normal... b'coz i only use numbers to encrypt...
WARNING! - Do not use this to encrypt important confindential data...
Use PGP instead.
If you use this method, the remember the Credits!
Password must be between 1000 and 999999999
*/
parse arg str
if length(str)=0 then do
say 'Usage: rx Crypt <String to encrypt>'
exit
end
say 'Encrypt password:'
pull pass
pass = pass - (pass*2)
a = encrypt(str,pass)
say ''
say a
say 'Decrypt password:'
parse pull pass
pass = pass - (pass*2)
say ''
say decrypt(a,pass)
exit
/* funcs() */
encrypt: Procedure
Strin = '-CODE-' || arg(1)
seed = arg(2)
seedl=length(seed)
str=''
do i = 1 to length(strIn)
c=substr(strIn,i,1)
seed = seed + 1
s = c2d(c)+seed+i
s = s-(s*2)
str = str || zero(s,seedl-1)
end
/*
str = zero(seed,4) || str
*/
strOut = reverse(str)
return strOut
decrypt: Procedure
Strin = reverse(arg(1))
signal on syntax
seed = arg(2)
seedl = length(seed)
strPos = 1
str = ''
ii = 1
do i = strPos to length(strIn) by seedl
seed = seed + 1
c=deZero(substr(strIn,i,seedl))
c = c - (c * 2)
str = str || d2c(( c-(seed+ii) ))
ii = ii + 1
end
strOut = str
if substr(strOut,1,6) ~= '-CODE-' then do
say 'Denied! - ' || strout
signal syntax
end
return substr(strOut,7,length(strout)-6)
syntax:
say 'Wrong!'
exit
return 0
zero: Procedure
str = arg(1)
n = arg(2)
strout = ''
do i = length(str) to n
strout = strout || '0'
end
strout = strout || str
return strout
deZero: Procedure
strIn = arg(1)
strOut = arg(1)
do c = 1 to length(strIn)
if substr(strIn,c,1) = '0' then do
strOut = substr(strIn,c+1,length(strIn))
end
else return strOut
end
return -1