Acme::Enc - Perl extension for Encypting your source code, Acme Style
use Acme::Enc;
use Acme::Enc; print "Hello World";
After you run it the first time it will now look like this:
use Acme::Enc; [ encypted version here ]
but run exactly the same :)
use Acme::Enc qw(cyphertext 1); use Acme::Enc qw(cyphertext); use Acme::Enc qw(\&get_cyphertext 1); use Acme::Enc qw(\&get_cyphertext);
This lets you specify the cyphertext or a code reference that returns a cyphertext to use to [de|en]crypt the source.
If a second argument is true then it uses ASCII Armour.
The code reference has $0 as its only argument so you could use that in cypher fetching. (IE based on a database or algorythm)
Note that to have it call your funtion to unencrypt it you must specify it as a string '\&foo' in main:: or else the return value of your function will be used:
use Digest::MD5 qw(md5_hex); sub get_cyphertext { return md5_hex(shift()) } use Acme::Enc qw(\&get_cyphertext); [ your code here ]
results in:
use Digest::MD5 qw(md5_hex); sub get_cyphertext { return md5_hex(shift()) } use Acme::Enc \&get_cyphertext; [ encypted version here ]
while:
use Digest::MD5 qw(md5_hex); sub get_cyphertext { return md5_hex(shift()) } use Acme::Enc \&get_cyphertext; [ your code here ]
use Digest::MD5 qw(md5_hex); sub get_cyphertext { return md5_hex(shift()) } use Acme::Enc 'b2d92a2245e0b046e4ef703ecd9a29ae'; [ encypted version here ]
Don't be stupid, they'll easily be able to unencrypt it, the same way Acme::Enc unencypts it.
Why does anyone do anything really?
I needed a tag to look for to allow for binary encryption, I chose my name. You no like? Boo hoo :)
Crypt::OpenPGP and Acme::Bleach (any resemblance of my pants to Damian Conway's shirt is purely not coincidental and the names were not changed because no one is innocent)
Thanks Damian you rock!! Tell Larry hi for me ;p
Daniel Muey, http://drmuey.com/cpan_contact.pl
Copyright 2005 by Daniel Muey
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Acme::Enc, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Acme::Enc
CPAN shell
perl -MCPAN -e shell install Acme::Enc
For more information on module installation, please visit the detailed CPAN module installation guide.