davidecaruso / crypt

用于安全地加密/解密字符串的PHP库。

v2.0.1 2020-12-07 08:33 UTC

This package is auto-updated.

Last update: 2024-09-07 16:49:16 UTC


README

Crypt

Latest Stable Version License

双向加密PHP库。

安装

composer require davidecaruso/crypt

如何使用

幂等方式

通过这种方式,加密算法在加密相同文本时总是返回相同的输出。

<?php
$passphrase = '1765f3de9cb961bfed77a8ec222a3a4948bc269730fb8cd10ef3645b371f589c';
$vector = 'f3bb46ceb0e30b88';
$crypt = new Crypt(new Idempotent($passphrase, $vector));

$encrypted = $crypt->encrypt('foobar');
$decrypted = $crypt->decrypt($encrypted);

echo "{$encrypted}\n";
echo "{$decrypted}\n";

// 472c66cde1310e7990ae9afaba8bf44a
// foobar

非幂等方式

通过这种方式,加密算法在加密相同文本时总是返回新的输出。

<?php
$passphrase = '1765f3de9cb961bfed77a8ec222a3a4948bc269730fb8cd10ef3645b371f589c';
$crypt = new Crypt(new NonIdempotent($passphrase));

$encrypted = $crypt->encrypt('foobar');
$decrypted = $crypt->decrypt($encrypted);

echo "{$encrypted}\n";
echo "{$decrypted}\n";

// 29162d5b677312fa8b0039dfd72150e01510a1a1cd628671ea12da178672dcd7
// foobar

CLI命令

生成一个随机的64字节密钥字符串

composer secret:generate
# 015556dd3e30230debd59fa2b7682fadc0795396e3ff1dfece0c6a6784eec834

以幂等方式加密/解密

composer encrypt:idempotent 1765f3de9cb961bfed77a8ec222a3a4948bc269730fb8cd10ef3645b371f589c foobar f3bb46ceb0e30b88
# 472c66cde1310e7990ae9afaba8bf44a
composer decrypt:idempotent 1765f3de9cb961bfed77a8ec222a3a4948bc269730fb8cd10ef3645b371f589c 472c66cde1310e7990ae9afaba8bf44a f3bb46ceb0e30b88
# foobar

以非幂等方式加密/解密

composer encrypt:non-idempotent 1765f3de9cb961bfed77a8ec222a3a4948bc269730fb8cd10ef3645b371f589c foobar
# 06de08dc3fe774e40d15c0f3111ec6c04f160fd18e98a04ae7ece060b168167e
composer decrypt:non-idempotent 1765f3de9cb961bfed77a8ec222a3a4948bc269730fb8cd10ef3645b371f589c 06de08dc3fe774e40d15c0f3111ec6c04f160fd18e98a04ae7ece060b168167e
# foobar

作者

Davide Caruso

许可证

MIT许可下发布。