Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SFTP
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
LZW

 

 

 

 

 

 

 

RSA Encrypt and Decrypt Strings

Ruby sample code to RSA public-key encrypt and decrypt strings using public and private keys.

Download Chilkat Ruby Library

require 'chilkat'

rsa = Chilkat::CkRsa.new()

success = rsa.UnlockComponent("Anything for 30-day trial")
if (success != true)
    print "RSA component unlock failed" + "\n"
    exit
end

#  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.
success = rsa.GenerateKey(1024)
if (success != true)
    print rsa.lastErrorText() + "\n"
    exit
end

#  Keys are exported in XML format:
publicKey = rsa.exportPublicKey()
privateKey = rsa.exportPrivateKey()

plainText = "Encrypting and decrypting should be easy!"

#  Start with a new RSA object to demonstrate that all we
#  need are the keys previously exported:
rsaEncryptor = Chilkat::CkRsa.new()

#  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".
rsaEncryptor.put_EncodingMode("hex")

#  We'll encrypt with the public key and decrypt with the private
#  key.  It's also possible to do the reverse.
rsaEncryptor.ImportPublicKey(publicKey)

usePrivateKey = false
encryptedStr = rsaEncryptor.encryptStringENC(plainText,usePrivateKey)
print encryptedStr + "\n";

#  Now decrypt:
rsaDecryptor = Chilkat::CkRsa.new()

rsaDecryptor.put_EncodingMode("hex")
rsaDecryptor.ImportPrivateKey(privateKey)

usePrivateKey = true
decryptedStr = rsaDecryptor.decryptStringENC(encryptedStr,usePrivateKey)

print decryptedStr + "\n";
 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.