- Notifications
You must be signed in to change notification settings - Fork4
The Nuxed Crypto component provides a high-level cryptography interface that relies on libsodium for all of its underlying cryptography operations.
License
nuxed/crypto
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Nuxed Crypto component provides a high-level cryptography interface that relies on libsodium for all of its underlying cryptography operations.
inspired byHalite
.
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.
This package can be installed withComposer.
$composer require nuxed/crypto
usenamespace Nuxed\{Crypto,Filesystem};usenamespace Nuxed\Crypto\Symmetric;<<__EntryPoint>>asyncfunctionmain():Awaitable<void> {// generate a key :$key=Symmetric\Encryption\Key::generate();// or load a stored encryption key :$file=newFilesystem\File('/path/to/encryption.key');$key=$key=Symmetric\Encryption\Key::import(newCrypto\HiddenString(await$file->read()) );$message=newCrypto\HiddenString('Hello, World!');$ciphertext=Symmetric\Encryption\encrypt($message,$key);$plaintext=Symmetric\Encryption\decrypt($ciphertext,$key);print$plaintext->toString();// Hello, World!}
For information on reporting security vulnerabilities in Nuxed, seeSECURITY.md.
Nuxed is open-sourced software licensed under the MIT-licensed.
About
The Nuxed Crypto component provides a high-level cryptography interface that relies on libsodium for all of its underlying cryptography operations.