Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

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-2007 Chilkat Software, Inc. All Rights Reserved.