The program CP0105R uses the bindable API CEERAN0 to encrypt source. An array of upper and lower case letters is shuffled (now using a Fisher-Yates (aka Knuth) shuffle), and the BIF %XLATE is used to perform a simple substitution encryption upon the source file. When run upon itself, the result is:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * "tS ux'R RaCuXwz, xkLX zjC wXji ux'R HfussuPEDfL!" * *
* * * *
* * NDoHiV OMOlcObcV Ok yyy.bHlcclpyOHV.iDG * *
* * zBXJJXa QGeRBcBXDRD (yvy MUBXD VyGns) (M)2008 * *
* * * *
* * sfnk mpiA nk rnvoRkoU jRUoi V xioVJnSo xpttpRk * *
* * KssBgRusgyF-nyFdyccVBagZM-ILZBVKMgSV bgaVFtV: * *
* * YZZs://hfmSZypmhKPPKHR.Kfw/UyhmHRmR/DE-Hh-RS/3.0/UmwSUhKam * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * * bHYUcq OqahqU NRcUmyXBHR J1.00 * * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* zuHB JqEcqIC iHll RGMqkJh I BENqMR KHlR, NhHlHPHGc OFFgpsj0 IGb *
* %IkTMA. yGA KAAr DK T LEio ewMA eDfTow LDAkr gDMG T zTkiA *
* idCsddf (zfxIyrzqd) 0 (t'00000000') Gfw 2 147 483 646 *
* (F'7kkkkkkR'). *
* *
* vwJz VbiFbuk Jz CWzJFcWC Ui bNc iHWb ziNbjW XJfWz yJUw fWcFUwz *
* tvrlvvV 13 PVI 240 (XQXrvp ToporX). *
* *
* zc AGJ, cXgAAZig DcGAbg nZOg, VJi bVOO. zc gJbAqMw, bVOO tZwW *
* pRzF w oKkfiT mwqwgzKq fI 'u'; zf TKkqGmz, 'y' *
* *
* XyWwrF siZhg HWa aZ0105W *
* Pall PA0105d (H'075iMD15' 'N') *
* HCdd HZ0105w (y'075pnt15' 't') *
* *
* !bDf'E PDoWZE zDMo jZZb! *
* EHYvvYT gAZdHXHYldl Yl AzZ HdlXzAlYavd GzH vzlZ lddJl/lzhHNd. *
* Ewz bPn gUf OZCQUQTF ZzgCmzZ rwyu urhLL, Qhr D gUf'r. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Tlrolkn lRjifirE Hro *
* -------------------- *
* *
* nIHR yIHorR TZ kRwbqbTQ *
* ---------- -------------------------------------------------- *
* 2008/05/28 dhjYnbh cFByyYh sTkF GTcFhi-Knkhc nYZriTkFW *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
w ADETBEbzs(*Np) kBEbzs(*rkJJfz) QdAZiz('Yr2Su')
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* ... CSOFM ... *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
RjnuYw YR R 240 Gjql
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* ... BZqSECNZE twOEZkfSEv ... *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* ... gArsT SArgseKBgj ...
*
bwq0105j qj
C uppC 10U 0
A FtBZjvRB 1U
tmM0105G MV
N hHHN 10a 0
x VlgwaRTg 1D
*
* ... cKDRQTKc (QsiKDsfY) ...
*
t UUMHoJG JH
*
* ... kxprAkHG nctLGrFcGZ ...
*
t TuktGn NT CQVBTGe('YCCWrj0')
C 10c 0
l 8C
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* ... Jhuh luLpdupLOl ... *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
V PzrKpVZ VZ 240
R MKTRwd 228
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* ... kEeiaeuCig febDexugk ... *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
G QwLeQFFMbG L 52 rwy('hvPHUxVarXKTqAYBkzWgdjIutp+
m wIbmnZAzUCWlydRcLtDVfOhJgS')
C loNjjXiC l hcfi(NgloNjjXiC)
M eXV('FxfZSoPGeClbQyRWtUOgdBcEpk+
S mKQSOcwCVpvqUkDuzfyxWsjoiL')
c dujL t PSWV(BCtqBddyVc) KJtVc(dujL@)
s RY c CPaf(VdcnVKKGfs) gDcfs(RY@)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* ... UGjbyKjyb ... *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
T HEfApQX j 'H'
B EQVOqPx t 'E'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * * shRjARjm * * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/gWUU
*qjAh = *fj;
pjLW nxVZR nxVZRWo;
nOp (zOW %BOD(oaGkW));
iimfpvd();
CIomjy UGILj UGILjoi;
puaD vUQid vUQidDx;
LaFwX;
sxhiIj;
gpjlq *KRVlu;
//
// KQQN hI 0 TKQK lFt; whw-CQcChNTvHEZQ
//
ji ( QLLm = 0 );
gvve = 1;
uTISj;
QC ( CThHdsnh = OhHYkDd );
Ilkm@ = %Fxxl(pJjVpIITWx);
cd@ = %BFFl(knojjpfF);
QjZo;
tC@ = %Koom(nqFanNNzfo);
cRFo@ = %fQQR(xMbccvgQ);
mKoVX;
WRmNo;
/hYU-gEhh
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * * xgzlOipgOV * * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
N oowMFNp z
o wi
P eIDyzMH d 8e
r $Z E 5B 0
T $R c 5Z 0
o FUQP G 1q
/yerr
// YucDDJy cYzxn Oxcdu ajXzjxd iD tzYuyX-hjazY jJniXzduS
zUk $F = %Jdc(QcWGQvvwdI) mUTchU 2;
evKuiC(kPPu:lJivLPe);
$b = DRgPieS * $p + 1;
GN ($G <> $k);
ycGN = %TqYky(kXqZZLcS:$n:1);
%zkjBW(BNkssbrg:$l:1) = %zkjBW(BNkssbrg:$n:1);
%YbJmd(mUbBBocw:$h:1) = dcyu;
DuWMd;
WioXZb;
// qptHycF/uqtHycF QbrpX %oYUFq
DXPbBv = %gSvBA( EXYI : BY : DXPbBv : 13 );
BaAZCG;
/YHe-xVYY
t uuRrztW l
For reasons I can't entirely explain, this tickles me to no end.
The following link takes you to the source code, written in beautiful /free ILE/RPG. The source is
distributed under a creative commons license.