Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
RSA Encrypt and Decrypt Credit Card NumbersVB.NET 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.)
Dim rsa As New Chilkat.Rsa() Dim success As Boolean success = rsa.UnlockComponent("Anything for 30-day trial") If (success <> true) Then MsgBox(rsa.LastErrorText) Exit Sub End If Dim key As New Chilkat.PrivateKey() ' Load an RSA private key from a PKCS8 file: success = key.LoadPkcs8File("rsaPrivateKey.p8") If (success <> true) Then MsgBox(key.LastErrorText) Exit Sub End If ' Get the key as XML: Dim keyXml As String 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 MsgBox(rsa.LastErrorText) Exit Sub End If ' Encrypt a VISA credit card number: ' 1234-5678-0000-9999 Dim ccNumber As String ccNumber = "1234567800009999" Dim usePrivateKey As Boolean usePrivateKey = false rsa.EncodingMode = "base64" Dim encryptedStr As String encryptedStr = rsa.EncryptStringENC(ccNumber,usePrivateKey) TextBox1.Text = TextBox1.Text & "Encrypted:" & vbCrLf TextBox1.Text = TextBox1.Text & encryptedStr & vbCrLf ' Now decrypt: Dim rsaDecryptor As New Chilkat.Rsa() rsaDecryptor.EncodingMode = "base64" rsaDecryptor.ImportPrivateKey(keyXml) usePrivateKey = true Dim decryptedStr As String decryptedStr = rsaDecryptor.DecryptStringENC(encryptedStr,usePrivateKey) TextBox1.Text = TextBox1.Text & "Decrypted:" & vbCrLf TextBox1.Text = TextBox1.Text & decryptedStr & vbCrLf ' 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. |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.