A CLI that encrypts and decrypts png, jpg, jpeg images to a gibberish image and provides you the key to unlock it later so that you have the complete control of your images.
npm i -g imcrypt
imcrypt <command> [option]
or run it directly using npx
npx imcrypt <command> [option]
help #prints help info
-e, --encrypt # The image to encrypt
-d, --decrypt # The image to decrypt
-c, --clear # Clear the console Default: false
--noClear # Don't clear the console Default: true
-v, --version # Print CLI version Default: false
-k, --key # The key to use for decryption Default: false
-i, --outputImageFileName # The output image
-p, --outputKeyFileName # The output key
Command
imcrypt -e myImage.png -i encryptedImageName.png -p keyFile.txt
output
imcrypt v0.0.1 by theninza
An image encryption node-js cli
✔ Image read successfully
✔ Output image file name is valid
✔ Output key file name is valid
✔ Image data read successfully
✔ Key generated successfully
✔ Image encrypted successfully
✔ Image saved successfully
✔ Key saved successfully
✔ Image encrypted successfully Image encrypted successfully:
Encrypted image: encryptedImageName.png
Key: keyFile.txt
Give it a star on github: https://github.com/theninza/imcrypt
imcrypt -d encryptedImage.png -k key.txt -i decryptedImage.png
output
imcrypt v0.0.1 by theninza
An image encryption node-js cli
✔ Image read successfully
✔ Key read successfully
✔ Decryption successful
✔ Image saved successfully
✔ Success Image decrypted successfully
Decrypted Image: decryptedImage.png
Give it a star on github: https://github.com/theninza/imcrypt
While encryption and decryption is perfect on the png images. On jpg and jpeg, the operation is not perfect. Jpg and jpeg images are lossy and while encryption and decryption, a few pixels values are changed. The decrypted image is however, very similar to the original image but with a few pixels changed.