nuxed / crypto
Nuxed Crypto
Installs: 344
Dependents: 2
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 4
Open Issues: 0
Language:Hack
Requires
- hhvm: ~4.83.1 || ~4.84.0
- hhvm/hsl: ^4.41
- hhvm/hsl-experimental: ^4.66
Requires (Dev)
- facebook/difflib: ^1.1.1
- facebook/fbexpect: ^2.7.7
- facebook/hh-clilib: ^2.5.2
- hhvm/hacktest: ^2.0
- hhvm/hhast: ^4.82.2
- hhvm/hhvm-autoload: ^3.1.6
- hhvm/type-assert: ^4.1.2
README
Nuxed Crypto
The Nuxed Crypto component provides a high-level cryptography interface that relies on libsodium for all of its underlying cryptography operations.
inspired by Halite
.
Important
Although this library has developed with care, it has not been examined by security experts, there will always be a chance that we overlooked something. Please ask your favourite trusted hackers to hammer it for implementation errors and bugs before even thinking about deploying it in production.
Installation
This package can be installed with Composer.
$ composer require nuxed/crypto
Example
use namespace Nuxed\{Crypto, Filesystem}; use namespace Nuxed\Crypto\Symmetric; <<__EntryPoint>> async function main(): Awaitable<void> { // generate a key : $key = Symmetric\Encryption\Key::generate(); // or load a stored encryption key : $file = new Filesystem\File('/path/to/encryption.key'); $key = $key = Symmetric\Encryption\Key::import( new Crypto\HiddenString(await $file->read()) ); $message = new Crypto\HiddenString('Hello, World!'); $ciphertext = Symmetric\Encryption\encrypt($message, $key); $plaintext = Symmetric\Encryption\decrypt($ciphertext, $key); print $plaintext->toString(); // Hello, World! }
Security
For information on reporting security vulnerabilities in Nuxed, see SECURITY.md.
License
Nuxed is open-sourced software licensed under the MIT-licensed.