bitronix.tm.internal
Class CryptoEngine

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

public class CryptoEngine
extends java.lang.Object

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

© Bitronix 2005, 2006

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 and the given password as the crypto key.
static java.lang.String decrypt(java.lang.String cipher, java.lang.String data)
          Decrypt the given base64-encoded, crypted data.
static void main(java.lang.String[] args)
          Main class that can 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 and the given password as the crypto key. 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 the given base64-encoded, crypted data.

Parameters:
cipher - the cypther to use.
data - the 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 class that can 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.