承接 fr3on/php-vault 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fr3on/php-vault

最新稳定版本:0.0.1

Composer 安装命令:

composer require fr3on/php-vault

包简介

PHP 8.4+ envelope encryption library for structured data protection

README 文档

README

CI License

A modern, high-security PHP 8.4+ envelope encryption library using Libsodium.

php-vault implements the envelope encryption pattern: every record is encrypted with a unique Data Encryption Key (DEK), which is then protected by a Master Key (KEK). This ensures that even if one record is compromised, the rest remain secure, and master keys can be rotated without re-encrypting entire datasets.

Features

  • Envelope Encryption: Unique DEK per record.
  • Libsodium Powered: Uses xchacha20poly1305_ietf for data and secretbox for keys.
  • Memory Safe: Automatically wipes keys from memory (sodium_memzero) when objects are destroyed.
  • Leak Proof: Redacts sensitive information in debug dumps (var_dump, print_r).
  • Field-Level Protection: Easily encrypt specific fields in associative arrays.
  • Key Rotation: Re-encrypt DEKs with a new Master Key without touching the plaintext data.
  • Zero Dependencies: Pure PHP 8.4+ logic using native extensions.

Installation

composer require fr3on/php-vault

Usage

Basic Seal/Open

use Fr3on\Vault\Vault;
use Fr3on\Vault\Kek\LocalKek;

$kek = new LocalKek($masterKeyBytes); // 32 bytes
$vault = new Vault($kek);

$sealed = $vault->seal("Sensitive Transaction Data");
// "v1:AAE... (Base64URL encoded envelope)"

$plaintext = $vault->open($sealed);

Field-Level Encryption

use Fr3on\Vault\FieldVault;

$fieldVault = new FieldVault($vault);
$record = [
    'user_id' => 123,
    'email'   => 'user@example.com', // sensitive
    'ssn'     => '000-00-0000',      // sensitive
];

$sealed = $fieldVault->sealFields(['email', 'ssn'], $record);
// Only 'email' and 'ssn' are encrypted; 'user_id' remains plaintext.

Key Rotation

use Fr3on\Vault\KeyRotator;

$rotator = new KeyRotator();
$newKek = new LocalKek($newMasterKey);

// Rotate the master key without decrypting the payload
$newSealed = $rotator->rotate($oldSealed, $oldKek, $newKek);

Security Standards

  • PHP 8.4+ required for modern security features.
  • Level 9 PHPStan for total type safety.
  • IND-CCA2 Secure: Uses AEAD for all data payloads.
  • Tamper Evident: Throws exceptions if any bit of the envelope is modified.

License

MIT License. See LICENSE for details.

统计信息

  • 总下载量: 223
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固