PHP Crypto (encrypt/decrypt) Library

v1.1.1 2025-01-22 12:29 UTC

This package is auto-updated.

Last update: 2025-01-22 12:30:33 UTC


README

Latest Stable Version License Total Downloads

Installation

composer require yurijbogdanov/crypto

Usage

Generate new secret:

$secret = Crypto::generateSecret();
// Result: c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD

Encrypt:

$secret = 'c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD';
$content = 'Lorem ipsum dolor sit amet';
$encryptedContent = Crypto::encrypt($secret, $content);
// Result: fqVFisbX2Jarzt2l-69hZplsSW1HRc9UsBJbveqNPPz0z4bYQXpw6r33

Decrypt:

$secret = 'c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD';
$content = 'fqVFisbX2Jarzt2l-69hZplsSW1HRc9UsBJbveqNPPz0z4bYQXpw6r33';
$decryptedContent = Crypto::decrypt($secret, $content);
// Result: Lorem ipsum dolor sit amet

Encrypt file:

$secret = 'c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD';
$filename = 'test.txt';
$encryptedFilename = Crypto::encryptFile($secret, $filename);
// Result: test.txt.encrypted.txt

Decrypt file:

$secret = 'c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD';
$filename = 'test.txt.encrypted.txt';
$decryptedFilename = Crypto::decryptFile($secret, $filename);
// Result: test.txt

Usage via Terminal

List of commands:

bin/crypto

Generate new secret:

bin/crypto generate_secret
# Result: c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD

Encrypt:

bin/crypto encrypt [SECRET] [CONTENT]
bin/crypto encrypt c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD "Lorem ipsum dolor sit amet"
# Result: fqVFisbX2Jarzt2l-69hZplsSW1HRc9UsBJbveqNPPz0z4bYQXpw6r33

Decrypt:

bin/crypto decrypt [SECRET] [CONTENT]
bin/crypto decrypt c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD fqVFisbX2Jarzt2l-69hZplsSW1HRc9UsBJbveqNPPz0z4bYQXpw6r33
# Result: Lorem ipsum dolor sit amet

Encrypt file:

bin/crypto encrypt_file [SECRET] [FILENAME]
bin/crypto encrypt_file c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD test.txt
# Result: test.txt.encrypted.txt

Decrypt file:

bin/crypto decrypt_file [SECRET] [FILENAME]
bin/crypto decrypt_file c29kaXVtX2NyeXB0b19hZWFkX3hjaGFjaGEyMHBvbHkxMzA1X2lldGYuM443WWLIVeqJWCv16zLIAliPnOwfk3z2YKgfi9TlxfQuItcES9FWz7qPvsSKeTiABVGkVFXfHFjD test.txt.encrypted.txt
# Result: test.txt