bitronix.tm.utils
Class CryptoEngine

java.lang.Object
  extended bybitronix.tm.utils.CryptoEngine

public class CryptoEngine
extends java.lang.Object

Simple crypto helper that uses symetric keys to crypt and decrypt resources passwords.

© Bitronix Software

Author:
lorban

Constructor Summary
CryptoEngine()
           
 
Method Summary
static java.lang.String crypt(java.lang.String cipher, java.lang.String data)
          Crypt the given data using the given cipher.
static java.lang.String decrypt(java.lang.String cipher, java.lang.String data)
          Decrypt using the given cipher the given base64-encoded, crypted data.
static void main(java.lang.String[] args)
          Main method of this class to be used as a command-line tool to get a crypted version of a resource password.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CryptoEngine

public CryptoEngine()
Method Detail

crypt

public static java.lang.String crypt(java.lang.String cipher,
                                     java.lang.String data)
                              throws java.security.InvalidKeyException,
                                     java.security.NoSuchAlgorithmException,
                                     javax.crypto.NoSuchPaddingException,
                                     java.security.spec.InvalidKeySpecException,
                                     java.io.IOException
Crypt the given data using the given cipher. The crypted result is base64-encoded before it is returned.

Parameters:
cipher - the cypther to use.
data - the data to crypt.
Returns:
crypted, base64-encoded data.
Throws:
java.security.InvalidKeyException - if the given key material is shorter than 8 bytes.
java.security.NoSuchAlgorithmException - if a secret-key factory for the specified algorithm is not available in the default provider package or any of the other provider packages that were searched.
javax.crypto.NoSuchPaddingException - if transformation contains a padding scheme that is not available.
java.security.spec.InvalidKeySpecException - if the given key specification is inappropriate for this secret-key factory to produce a secret key.
java.io.IOException - if an I/O error occurs.

decrypt

public static java.lang.String decrypt(java.lang.String cipher,
                                       java.lang.String data)
                                throws java.security.InvalidKeyException,
                                       java.security.NoSuchAlgorithmException,
                                       javax.crypto.NoSuchPaddingException,
                                       java.security.spec.InvalidKeySpecException,
                                       java.io.IOException
Decrypt using the given cipher the given base64-encoded, crypted data.

Parameters:
cipher - the cypther to use.
data - the base64-encoded data to decrypt.
Returns:
decrypted data.
Throws:
java.security.InvalidKeyException - if the given key material is shorter than 8 bytes.
java.security.NoSuchAlgorithmException - if a secret-key factory for the specified algorithm is not available in the default provider package or any of the other provider packages that were searched.
javax.crypto.NoSuchPaddingException - if transformation contains a padding scheme that is not available.
java.security.spec.InvalidKeySpecException - if the given key specification is inappropriate for this secret-key factory to produce a secret key.
java.io.IOException - if an I/O error occurs.

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Main method of this class to be used as a command-line tool to get a crypted version of a resource password.

Parameters:
args - the command-line arguments.
Throws:
java.lang.Exception - when an error occurs crypting the given resource password.