NAME
Crypt::Image - Interface to hide text into an image.
VERSION
Version 0.01
DESCRIPTION
It requires key image and a text message to start with. The text message is scattered through out the image and gaps are filled with random trash. RGB is used to hide the text message well from any algorithm that searches for similarities between 2 or more images which are generated by the same key. The UTF char code is randomly distributed between the R, G and B, which then gets added/substracted from the original RGB. So even if the same key image is used to encrypt the same text, it will look different from previously encrypted images and actual data pixels are unrecognizable from trash data, which also changes randomly every time.
CONSTRUCTOR
The constructor takes at the least the location key image, currently only supports PNG format. Make sure your key images is not TOO BIG. Anything less than 200KB should be fine.
use strict; use warnings;
use Crypt::Image;
my $crypter = Crypt::Image->new(file => 'your_key_image.png');
METHODS
encrypt()
Encrypts the key image (of type PNG currently) with the given text & save it as the new image by the given file name. The length of the given text depends on height and width of the key image given in the constructor. It should not be longer than (width*height)-2.
use strict; use warnings;
use Crypt::Image;
my $crypter = Crypt::Image->new(file => 'your_key_image.png');
$crypter->encrypt('Hello World', 'your_new_encrypted_image.png');
decrypt()
Decrypts the given encrypted image and returns the hidden text.
use strict; use warnings;
use Crypt::Image;
my $crypter = Crypt::Image->new(file => 'your_key_image.png');
$crypter->encrypt('Hello World', 'your_new_encrypted_image.png');
print "Text: [" . $crypter->decrypt('your_new_encrypted_image.png') . "]\n";
AUTHOR
Mohammad S Anwar, <mohammad.anwar at yahoo.com>
BUGS
Please report any bugs or feature requests to bug-crypt-image at rt.cpan.org
or through the the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Crypt-Image. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Crypt::Image
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENT
Joonas Vali, author of the blog below, that gave me the idea for this module:
http://forum.codecall.net/classes-code-snippets/18135-java-encrypt-text-into-image.html
LICENSE AND COPYRIGHT
Copyright 2011 Mohammad S Anwar.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
DISCLAIMER
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.