ssitu/spirit

Spirit 打印机;每份仅需0美分即可实现的隐写术!

v1.0.0 2021-06-22 19:26 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:45 UTC


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 Duplicator

请注意,Spirit 并未经过充分测试;因此,请将其视为玩具。

SSITU/Sod 或其他加密工具 – 只要它实现了相同的接口,运行 Spirit 是必需的。

Spirit 不应用于存储敏感数据。
永久性数据丢失将至少在这些场景中发生

  • 如果 Spirit 或 Sod 密钥丢失或损坏,即使部分损坏;
  • 如果发生运行时或加密错误;
  • 如果库不再得到适当的维护。

未来的解密需要指定的 Sod 密钥和提供的 Spirit 密钥;
Spirit 密钥只在成功创建图像时提供一次;
因此,Sod 密钥和 Spirit 密钥必须保存在安全的地方。
Spirit 密钥不应公开显示;
Sod 密钥不得公开显示。

Spirit 图像可以随意复制和重命名;
然而,Spirit 图像不得编辑、压缩、调整大小或以其他格式保存。

贡献

当然!您可以查看 CONTRIBUTING

许可

本项目采用 MIT 许可证;有关详细信息,请参阅 LICENSE