Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET WinRTVBScript

Java Examples

Certificates
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
MHT / HTML Email
PEM
PFX/P12
Java KeyStore (JKS)
POP3
RSA Encryption
MIME
SMTP
Socket/SSL/TLS
SSH Key
SSH
SFTP
Tar Archive
XML
XMP
Zip

More Examples...
ASN.1
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
NTLM

 

 

 

 

 

 

 

(Java) RSA Encrypt and Decrypt Strings

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

Chilkat Java Downloads

Java Libs for Windows, Linux, MAC OS X, Solaris,
ARM Embedded Linux, and PowerLinux

Java Libs for Android

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    CkRsa rsa = new CkRsa();

    boolean success = rsa.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        System.out.println("RSA component unlock failed");
        return;
    }

    //  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.
    success = rsa.GenerateKey(1024);
    if (success != true) {
        System.out.println(rsa.lastErrorText());
        return;
    }

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

    String plainText = "Encrypting and decrypting should be easy!";

    //  Start with a new RSA object to demonstrate that all we
    //  need are the keys previously exported:
    CkRsa 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".
    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.
    success = rsaEncryptor.ImportPublicKey(publicKey);

    boolean usePrivateKey = false;
    String encryptedStr = rsaEncryptor.encryptStringENC(plainText,usePrivateKey);
    System.out.println(encryptedStr);

    //  Now decrypt:
    CkRsa rsaDecryptor = new CkRsa();

    rsaDecryptor.put_EncodingMode("hex");
    success = rsaDecryptor.ImportPrivateKey(privateKey);

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

    System.out.println(decryptedStr);

  }
}

 

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