exonet/securemessage

以安全的方式加密和解密消息。

v1.0.2 2022-02-02 09:49 UTC

This package is auto-updated.

Last update: 2024-09-05 09:20:53 UTC


README

Latest Version on Packagist Software License Total Downloads

本包允许创建(非常)安全的消息并将它们存储在,例如,您的数据库中。安全消息使用三个密钥部分的组合加密:

  • “数据库密钥”——需要存储在数据库中。
  • “存储密钥”——需要存储在磁盘/文件系统中。
  • “验证码”——此代码不应存储在任何地方。

这样,如果攻击者可以访问数据库,他们仍然只能访问完整密钥的一小部分。如果攻击者可以访问文件存储,也是如此。即使攻击者可以访问数据库和文件存储,完整的密钥仍然缺失。

验证码可以(安全地)发送给安全消息的接收者,并且使用此代码可以解密消息并读取它。

要求

本包需要至少PHP 7.3,并且必须启用sodium扩展。

安装

通过Composer

$ composer require exonet/securemessage

用法

// Create the factory.
$secureMessageFactory = new Exonet\SecureMessage\Factory();
// Set the (application wide) meta key.
$secureMessageFactory->setMetaKey('A_10_random_characters_long_key.');

// Create a new SecureMessage. Note: it is not encrypted yet! 
$secureMessage = $secureMessageFactory->make('Hello, world!');
// Encrypt the Secure Message.
$encryptedMessage = $secureMessage->encrypt();

请参阅/docs文件夹以获取完整的文档和更多示例。

变更日志

请参阅发布以获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅CONTRIBUTINGCODE_OF_CONDUCT以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件development@exonet.nl而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。