RSACSP is replace Security factory. It's used for asymetric encryption. Asymetric encryption is using two keys, public for encrypt and private key for decrypt data;
// Generate keypPairs
use MayMeow\Cryptography\RSA\RSACryptoServiceProvider;
use MayMeow\Cryptography\Filesystem\RsaParametersFileLoader;
$this->csp = new RSACryptoServiceProvider();
// generate new keypairs
$keypair = $this->csp->generateKeyPair('yourSuperStrongPas$$phrase'); // returns RSAParameter
or you can use loader to load Keypairs from files as following example. Yuo can create your own loaders by implementing MayMeow\Cryptography\Filesystem\FileLoaderInterface.
// OR Load keypairs from file
$fileLoader = new RsaParametersFileLoader();
$this->csp->setRsaParameters($fileLoader->load('name_of_certificate'));
// Ecrypt and decrypt
$plainText = 'Hello World!';
$encryptedText = $this->csp->encrypt($plainText);
$decrypted = $this->csp->decrypt($encryptedText);
Can be used to verifiy if signed data was changed or no.
// Signing
$signature = $this->csp->sign($plainText);
$this->csp->verify($plainText, $signature); // true or false
// md5 fingerprint
$this->csp->getFingerPrint();