PHP ActiveX
PHP ActiveX
RSA Encrypt and Decrypt Credit Card Numbers
See more RSA Examples
_LANGUAGE_ sample code to RSA public-key encrypt and decrypt credit card numbers. The RSA key is loaded from an unencrypted PKCS8 file. Chilkat provides many ways of setting the key -- loading from both encrypted and unencrypted PEM, PKCS8, DER, PVK, etc. Keys may be loaded from files or in-memory representations. (The RSA component also provides the ability to generate RSA keys.)Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$rsa = new COM("Chilkat.Rsa");
$privKey = new COM("Chilkat.PrivateKey");
// Load an RSA private key from a file:
$success = $privKey->LoadAnyFormatFile('rsaPrivateKey.key','');
if ($success == 0) {
print $privKey->LastErrorText . "\n";
exit;
}
// Get the public part of the private key.
$pubKey = new COM("Chilkat.PublicKey");
$privKey->ToPublicKey($pubKey);
$success = $rsa->UsePublicKey($pubKey);
if ($success == 0) {
print $rsa->LastErrorText . "\n";
exit;
}
// Encrypt a VISA credit card number:
// 1234-5678-0000-9999
$ccNumber = '1234567800009999';
$usePrivateKey = 0;
$rsa->EncodingMode = 'base64';
$encryptedStr = $rsa->encryptStringENC($ccNumber,$usePrivateKey);
print 'Encrypted:' . "\n";
print $encryptedStr . "\n";
// Now decrypt:
$rsaDecryptor = new COM("Chilkat.Rsa");
$rsaDecryptor->EncodingMode = 'base64';
$rsaDecryptor->UsePrivateKey($privKey);
$usePrivateKey = 1;
$decryptedStr = $rsaDecryptor->decryptStringENC($encryptedStr,$usePrivateKey);
print 'Decrypted:' . "\n";
print $decryptedStr . "\n";
// Important: RSA encryption should only be used to encrypt small amounts of data.
// It is typically used for encrypting symmetric encryption
// keys such that a symmetric encryption algorithm, such as
// AES is then used to encrypt/decrypt bulk data
?>