sivin / crypt
使用 phpseclib 加密的轻量级库
v2.1
2021-04-20 08:31 UTC
Requires
- php: >= 7.1
- ext-openssl: *
- nette/di: ~3.0
- phpseclib/phpseclib: ^3.0
- tracy/tracy: ^2.6
Requires (Dev)
- ninjify/nunjuck: ^0.3.0@dev
This package is auto-updated.
Last update: 2024-09-20 15:37:10 UTC
README
使用 phpseclib 加密的轻量级库 phpseclib
-
通过 composer 安装
composer require sivin/crypt
-
在
config.neon
中注册扩展extensions: crypt: SiViN\Crypt\DI\CryptExtension
-
创建或使用您的密钥
/** @var Crypt */ private $crypt; public function __construct(Crypt $crypt) { $this->crypt = $crypt; } ... $keys = $this->crypt->createKeyPair() $privateKeyRaw = $keys['privateKeyRaw']; $publicKeyRaw = $keys['publicKeyRaw'];
-
使用您自己的密钥或在
config.local.neon
中定义它$crypt->setPublicKey($myPublicKeyForEncrypt); $crypt->setPrivateKey($myPrivateKeyForDecrypt); //if there is a private key with a password $crypt->setPrivateKeyPassword($myPivateKeyPasswordForDecrypt);
或在
config.local.neon
中crypt: publicKeyPath: publicKeyFile.pub #for encrypting privateKeyPath: privateKeyFile.key #for decrypting privateKeyPassword: 'PrivateKeyPassword' #optional
如果您只想进行加密/解密,只需定义加密/解密密钥即可
-
那么,最后呢?
$encryptedStr = $crypt->encryptRijndaelMessage($stringToEncode); //for transport $decryptedStr = $crypt->decryptRijndaelMessage($encryptedStr); $encryptedStr = $crypt->encryptRsa($stringToEncode); $decryptedStr = $crypt->decryptRsa($encryptedStr); $encryptedStr = $crypt->encryptRijndael($stringToEncode); $decryptedStr = $crypt->decryptRijndael($encryptedStr);