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 StringsVisual FoxPro sample code to RSA public-key encrypt and decrypt strings using public and private keys.
LOCAL loRsa LOCAL lnSuccess LOCAL lcPublicKey LOCAL lcPrivateKey LOCAL lcPlainText LOCAL loRsaEncryptor LOCAL lnUsePrivateKey LOCAL lcEncryptedStr LOCAL loRsaDecryptor LOCAL lcDecryptedStr loRsa = CreateObject('Chilkat.Rsa') lnSuccess = loRsa.UnlockComponent("Anything for 30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX("RSA component unlock failed") QUIT ENDIF * This example also generates the public and private * keys to be used in the RSA encryption. * Normally, you would generate a key pair once, * and distribute the public key to your partner. * Anything encrypted with the public key can be * decrypted with the private key. The reverse is * also true: anything encrypted using the private * key can be decrypted using the public key. * Generate a 1024-bit key. Chilkat RSA supports * key sizes ranging from 512 bits to 16384 bits. lnSuccess = loRsa.GenerateKey(1024) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loRsa.LastErrorText) QUIT ENDIF * Keys are exported in XML format: lcPublicKey = loRsa.ExportPublicKey() lcPrivateKey = loRsa.ExportPrivateKey() lcPlainText = "Encrypting and decrypting should be easy!" * Start with a new RSA object to demonstrate that all we * need are the keys previously exported: loRsaEncryptor = CreateObject('Chilkat.Rsa') * Encrypted output is always binary. In this case, we want * to encode the encrypted bytes in a printable string. * Our choices are "hex", "base64", "url", "quoted-printable". loRsaEncryptor.EncodingMode = "hex" * We'll encrypt with the public key and decrypt with the private * key. It's also possible to do the reverse. loRsaEncryptor.ImportPublicKey(lcPublicKey) lnUsePrivateKey = 0 lcEncryptedStr = loRsaEncryptor.EncryptStringENC(lcPlainText,lnUsePrivateKey) ? lcEncryptedStr * Now decrypt: loRsaDecryptor = CreateObject('Chilkat.Rsa') loRsaDecryptor.EncodingMode = "hex" loRsaDecryptor.ImportPrivateKey(lcPrivateKey) lnUsePrivateKey = 1 lcDecryptedStr = loRsaDecryptor.DecryptStringENC(lcEncryptedStr,lnUsePrivateKey) ? lcDecryptedStr |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser