Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) RSA Encrypt and Decrypt StringsTcl sample code to RSA public-key encrypt and decrypt strings using public and private keys.
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set rsa [new_CkRsa] # 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 4096 bits. set success [CkRsa_GenerateKey $rsa 1024] if {$success != 1} then { puts [CkRsa_lastErrorText $rsa] delete_CkRsa $rsa exit } # Keys are exported in XML format: set publicKey [CkRsa_exportPublicKey $rsa] set privateKey [CkRsa_exportPrivateKey $rsa] set plainText "Encrypting and decrypting should be easy!" # Start with a new RSA object to demonstrate that all we # need are the keys previously exported: set rsaEncryptor [new_CkRsa] # 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". CkRsa_put_EncodingMode $rsaEncryptor "hex" # We'll encrypt with the public key and decrypt with the private # key. It's also possible to do the reverse. set success [CkRsa_ImportPublicKey $rsaEncryptor $publicKey] set usePrivateKey 0 set encryptedStr [CkRsa_encryptStringENC $rsaEncryptor $plainText $usePrivateKey] puts "$encryptedStr" # Now decrypt: set rsaDecryptor [new_CkRsa] CkRsa_put_EncodingMode $rsaDecryptor "hex" set success [CkRsa_ImportPrivateKey $rsaDecryptor $privateKey] set usePrivateKey 1 set decryptedStr [CkRsa_decryptStringENC $rsaDecryptor $encryptedStr $usePrivateKey] puts "$decryptedStr" delete_CkRsa $rsa delete_CkRsa $rsaEncryptor delete_CkRsa $rsaDecryptor |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.