pyrou / morpheus
用于在图片颜色中加密和解密数据的库。此过程也称为隐写术。
1.0.0
2015-03-19 19:36 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-18 08:29:58 UTC
README
Morpheus 是一个用于在图片颜色中加密和解密数据的库。此过程也称为隐写术。
项目可以与 imageMagick、GD 库或优秀的 intervention 库一起使用。
通过 Composer 安装
推荐通过 Composer 安装 Morpheus。
composer require pyrou/morpheus
安装后,您需要引入 Composer 的自动加载器
require 'vendor/autoload.php';
如何使用它
使用 GD 库
# write data in image $im = imagecreatefrompng("source.png"); Morpheus\Data::write("Helloworld", $im); imagepng($im, "output.png"); # read data from image $im = imagecreatefrompng("output.png"); assert("Helloworld" === Morpheus\Data::read($im));
使用 Image Magick
# write data in image $im = new Imagick("source.png"); Morpheus\Data::write("Helloworld", $im); $im->writeImage("output.png"); # read data from image $im = new Imagick("output.png"); assert("Helloworld" === Morpheus\Data::read($im));
它是如何工作的?
让我们用一个例子来解释它是如何工作的。考虑这个漂亮的 octocat。
require 'vendor/autoload.php'; $im = imagecreatefrompng("source.png"); $data = base64_encode( "L'homme est un homme tant qu'il s'évertue ". "à s'élever au dessus de la nature, et cette ". "nature est à la fois intérieure et extérieure."); Morpheus\Data::write($data, $im); imagepng($im, "output.png");
以下是人类和计算机(或敏锐的人类)如何看到 output.png
文件。
实际上,库略微改变了文件上半部分的每个像素的颜色。变化如此之小,以至于人眼无法察觉。
*为了理解 Morpheus 做了什么,以及它现在看到了什么。