![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) RSA Encrypt and Decrypt Credit Card NumbersDataFlex 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.) Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoRsa Variant vPrivKey Handle hoPrivKey Variant vPubKey Handle hoPubKey String sCcNumber Boolean iUsePrivateKey String sEncryptedStr Handle hoRsaDecryptor String sDecryptedStr String sTemp1 Move False To iSuccess // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatRsa)) To hoRsa If (Not(IsComObjectCreated(hoRsa))) Begin Send CreateComObject of hoRsa End Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey If (Not(IsComObjectCreated(hoPrivKey))) Begin Send CreateComObject of hoPrivKey End // Load an RSA private key from a file: Get ComLoadAnyFormatFile Of hoPrivKey "rsaPrivateKey.key" "" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Procedure_Return End // Get the public part of the private key. Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey If (Not(IsComObjectCreated(hoPubKey))) Begin Send CreateComObject of hoPubKey End Get pvComObject of hoPubKey to vPubKey Get ComToPublicKey Of hoPrivKey vPubKey To iSuccess Get pvComObject of hoPubKey to vPubKey Get ComUsePublicKey Of hoRsa vPubKey To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End // Encrypt a VISA credit card number: // 1234-5678-0000-9999 Move "1234567800009999" To sCcNumber Move False To iUsePrivateKey Set ComEncodingMode Of hoRsa To "base64" Get ComEncryptStringENC Of hoRsa sCcNumber iUsePrivateKey To sEncryptedStr Showln "Encrypted:" Showln sEncryptedStr // Now decrypt: Get Create (RefClass(cComChilkatRsa)) To hoRsaDecryptor If (Not(IsComObjectCreated(hoRsaDecryptor))) Begin Send CreateComObject of hoRsaDecryptor End Set ComEncodingMode Of hoRsaDecryptor To "base64" Get pvComObject of hoPrivKey to vPrivKey Get ComUsePrivateKey Of hoRsaDecryptor vPrivKey To iSuccess Move True To iUsePrivateKey Get ComDecryptStringENC Of hoRsaDecryptor sEncryptedStr iUsePrivateKey To sDecryptedStr Showln "Decrypted:" Showln sDecryptedStr // 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 End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.