syntaxseed / libsodium
A wrapper/facade class for PHP's Libsodium extension functions. Covers symmetric and public key encryption functions.
v1.0.4
2024-12-19 00:25 UTC
Requires
- php: ^8.0|^8.1|^8.2|^8.3
- ext-sodium: *
README
A wrapper/facade class for PHP's LibSodium extension. Providing symmetric and public key encryption and decryption static methods, and key generation methods.
Hex-encoded: All output converted to hex. Inputs expect hex-encoded values.
- Licence: MIT
- Version: 1.0.4
- PHP Versions: 8.0+, 8.1+, 8.2+, 8.3+.
- Author: Sherri Wheeler sherri.syntaxseed@ofitall.com
- Packagist: https://packagist.org/packages/syntaxseed/libsodium
Install
Via Composer:
composer require syntaxseed/libsodium
Or add to composer.json:
"require": {
"syntaxseed/libsodium": "^1.0"
},
Static Functions
-
Symmetric Encryption (one secret key)
- generateSymmetricKey()
- symmetricEncrypt($secretString, $symmetricKey)
- symmetricDecrypt($encryptedString, $nonce, $key)
-
Public-Key Encryption (public/private key pair)
- generateKeyPair()
- publicKeyEncrypt($secretString, $theirPublicKey, $ourPrivateKey)
- publicKeyDecrypt($encryptedString, $nonce, $ourPublicKey, $theirPrivateKey)
Usage
See examples/
directory.
Changelog
- v1.0.0 - (2018-10-27) Created. Added to GitHub.
- v1.0.1 - (2018-10-27) Update readme, add Composer instructions.
- v1.0.2 - (2022-02-02) Test for PHP 8.0. Add example usage file.
- v1.0.3 - (2022-03-13) Test for PHP 8.1. Fix PSR formatting.
- v1.0.4 - (2024-12-18) Test for PHP 8.3.