ssitu / spirit
Spirit 打印机;每份仅需0美分即可实现的隐写术!
v1.0.0
2021-06-22 19:26 UTC
Requires
- ssitu/sod: ^1.0
README
Spirit 打印机;每份仅需0美分即可实现的隐写术!
入门指南
$ composer require ssitu/spirit
还需要启用 Gd 库。
如何使用
在 samples/
中有可用的示例。
use SSITU\Spirit\Spirit; use SSITU\Sod\Sod; require_once '/path/to/vendor/autoload.php'; // Sod config: $sodConfig["cryptKey"] = '703af4dd03ebe11e35167157a8a697d8a2cb545a907a38289f8a7ba19432a342'; $sodConfig["flavour"] = "Sugar"; # prefer "Sodium" if installed // Sod init: $Sod = new Sod($sodConfig); // Spirit init: $Spirit = new Spirit($Sod); //You can also pass Sod like so: # $Spirit->setSod($Sod); // Print config (could also be a decoded json file, cf. samples/): $printConfig = [ 'keyLength' => 32, 'width' => 286, 'height' => 186, 'margin' => 9, 'minfillerLen' => 32, 'imgExtension' => 'png', 'printTexts' => true, 'headerText' => 'PASS', 'footerText' => 'www.some-domain.com/login', 'mainText' => 'Bob', 'addtTexts' => ['guest of Ida'], 'fontFilePath' => '../samples/sourcessproxtrlight.ttf', 'textColorCodes' => [160,160,160], 'fontSize' => 11, 'angle' => 0, 'lineSpacer' => 2, 'adtlines' => 4, 'bgImgPath' => '../samples/baseImg.png', 'useBgImg' => false, 'bgColorCodes' => [255,255,255], 'drawFrame' => true, 'lineColorCodes' => [160, 160,160,], ]; // Some data to inject (must be a string): $dataToInject = 'such Secret much Hidden wow'; // Printing image: // returns an array with 'image' (b64 format) and 'key' $printRslt = $Spirit->printImg($dataToInject, $printConfig); // Reading image (either a filepath, or a b64 image can be passed) // returns decoded data $Spirit->readImg($printRslt['image'], $printRslt['key']); // If providing a key: it must consist of b64 characters only; // and length must match with the one specified in config $givenKey = 'Hf/mRnoh3mJDl8w+7DuhelTdHIWuj4V4'; $printRslt = $Spirit->printImg($dataToInject, $printConfig, $givenKey); // Reading previously stored image $safelyStoredSpiritKey = 'nCLz32iG2hyu67lWCKBSFHeZw2qh1cFx'; $Spirit->readImg('../samples/spirit-image.png', $safelyStoredSpiritKey); // If something went wrong: $Spirit->getLogs();
文档
请注意,Spirit 并未经过充分测试;因此,请将其视为玩具。
SSITU/Sod 或其他加密工具 – 只要它实现了相同的接口,运行 Spirit 是必需的。
Spirit 不应用于存储敏感数据。
永久性数据丢失将至少在这些场景中发生
- 如果 Spirit 或 Sod 密钥丢失或损坏,即使部分损坏;
- 如果发生运行时或加密错误;
- 如果库不再得到适当的维护。
未来的解密需要指定的 Sod 密钥和提供的 Spirit 密钥;
Spirit 密钥只在成功创建图像时提供一次;
因此,Sod 密钥和 Spirit 密钥必须保存在安全的地方。
Spirit 密钥不应公开显示;
Sod 密钥不得公开显示。
Spirit 图像可以随意复制和重命名;
然而,Spirit 图像不得编辑、压缩、调整大小或以其他格式保存。
贡献
当然!您可以查看 CONTRIBUTING。
许可
本项目采用 MIT 许可证;有关详细信息,请参阅 LICENSE。