Chilkat  HOME  Android™  Classic ASP  C  C++  C#  Mono C#  .NET Core C#  C# UWP/WinRT  DataFlex  Delphi ActiveX  Delphi DLL  Visual FoxPro  Java  Lianja  MFC  Objective-C  Perl  PHP ActiveX  PHP Extension  PowerBuilder  PowerShell  PureBasic  CkPython  Chilkat2-Python  Ruby  SQL Server  Swift 2  Swift 3,4,5...  Tcl  Unicode C  Unicode C++  Visual Basic 6.0  VB.NET  VB.NET UWP/WinRT  VBScript  Xojo Plugin  Node.js  Excel  Go
 
      (Excel) RSA Encrypt and Decrypt Credit Card NumbersExcel 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.) 
 ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim rsa As Chilkat.Rsa Set rsa = Chilkat.NewRsa Dim key As Chilkat.PrivateKey Set key = Chilkat.NewPrivateKey ' Load an RSA private key from a PKCS8 file: success = key.LoadPkcs8File("rsaPrivateKey.p8") If (success <> True) Then Debug.Print key.LastErrorText Exit Sub End If ' Get the key as XML: keyXml = key.GetXml() ' We'll encrypt with the public key and decrypt with the private ' key. (It's also possible to do the reverse.) ' Note: An RSA private key is composed of different parts internally: modulus, exponent, P, Q, etc. ' An RSA public-key is a sub-set of the private key. ' Therefore, when you have a private key, you really have ' both public and private keys. success = rsa.ImportPublicKey(keyXml) If (success <> True) Then Debug.Print rsa.LastErrorText Exit Sub End If ' Encrypt a VISA credit card number: ' 1234-5678-0000-9999 ccNumber = "1234567800009999" usePrivateKey = False rsa.EncodingMode = "base64" encryptedStr = rsa.EncryptStringENC(ccNumber,usePrivateKey) Debug.Print "Encrypted:" Debug.Print encryptedStr ' Now decrypt: Dim rsaDecryptor As Chilkat.Rsa Set rsaDecryptor = Chilkat.NewRsa rsaDecryptor.EncodingMode = "base64" success = rsaDecryptor.ImportPrivateKey(keyXml) usePrivateKey = True decryptedStr = rsaDecryptor.DecryptStringENC(encryptedStr,usePrivateKey) Debug.Print "Decrypted:" Debug.Print decryptedStr ' 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  | 
  ||||
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.