sivin/crypt

使用 phpseclib 加密的轻量级库

v2.1 2021-04-20 08:31 UTC

This package is auto-updated.

Last update: 2024-09-20 15:37:10 UTC


README

使用 phpseclib 加密的轻量级库 phpseclib

Build Status License Total Downloads

  1. 通过 composer 安装

    composer require sivin/crypt
  2. config.neon 中注册扩展

    extensions:
    	crypt: SiViN\Crypt\DI\CryptExtension
  3. 创建或使用您的密钥

    /** @var Crypt */
    private $crypt;
    
    public function __construct(Crypt $crypt)
    {
    	$this->crypt = $crypt;
    }
    ...
    $keys = $this->crypt->createKeyPair()
    $privateKeyRaw = $keys['privateKeyRaw'];
    $publicKeyRaw = $keys['publicKeyRaw'];
  4. 使用您自己的密钥或在 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

    如果您只想进行加密/解密,只需定义加密/解密密钥即可

  5. 那么,最后呢?

    $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);