NAME

Crypt::Image - Interface to hide text into an image.

VERSION

Version v1.0.0

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 image is not TOO BIG.

use strict; use warnings;
use Crypt::Image;

my $crypter = Crypt::Image->new(file => 'your_key_image.png');

METHODS

encrypt($message, $encrypted_image_name)

Encrypts the key image (of type PNG currently) with the given text and 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($encrypted_image)

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 Sajid Anwar, <mohammad.anwar at yahoo.com>

REPOSITORY

https://github.com/manwar/Crypt-Image

BUGS

Please report any bugs / feature requests through the web interface at https://github.com/manwar/Crypt-Image/issues. 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:

LICENSE AND COPYRIGHT

Copyright (C) 2011 - 2026 Mohammad Sajid Anwar.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License (2.0).