net.sourceforge.jcetaglib.lib
Class Crypt

java.lang.Object
  extended bynet.sourceforge.jcetaglib.lib.Crypt

public class Crypt
extends java.lang.Object

Symmetric block/stream cipher encryption & decryption routines for use with BouncyCastle JCE provider

Version:
$Id: Crypt.java,v 1.3 2004/04/15 07:28:25 hamgert Exp $
Author:
Gert Van Ham, hamgert@users.sourceforge.net, http://jcetaglib.sourceforge.net

Constructor Summary
Crypt()
           
 
Method Summary
static void decrypt(java.io.InputStream is, java.io.DataOutputStream daos, java.security.Key secretKey, java.lang.String algorithm, java.lang.String mode, java.lang.String padding, int bufferlength)
          Decrypts any inputstream with a symmetric key
static java.lang.StringBuffer decrypt(java.lang.StringBuffer text, java.security.Key secretKey, java.lang.String algorithm, java.lang.String mode, java.lang.String padding)
          Decrypts a message with a symmetric key
static java.lang.StringBuffer decrypt(java.lang.StringBuffer text, java.lang.String keyfile, java.lang.StringBuffer passphrase, java.lang.String algorithm, java.lang.String mode, java.lang.String padding)
          Decrypts a message with a symmetric key
static void decryptFile(java.lang.String file, java.lang.String newfile, java.lang.String keyfile, java.lang.StringBuffer passphrase, java.lang.String algorithm, java.lang.String mode, java.lang.String padding)
          Decrypts a file with a symmetric key
static void encrypt(java.io.InputStream is, java.io.DataOutputStream daos, java.security.Key secretKey, java.lang.String algorithm, java.lang.String mode, java.lang.String padding, byte[] seed, int bufferlength)
          Encrypts any inputstream with a symmetric key
static java.lang.StringBuffer encrypt(java.lang.StringBuffer text, java.security.Key secretKey, java.lang.String algorithm, java.lang.String mode, java.lang.String padding, byte[] seed)
          Encrypts a message with a symmetric key
static java.lang.StringBuffer encrypt(java.lang.StringBuffer text, java.lang.String keyfile, java.lang.StringBuffer passphrase, java.lang.String algorithm, java.lang.String mode, java.lang.String padding, byte[] seed)
          Encrypts a message with a symmetric key
static void encryptFile(java.lang.String file, java.lang.String newfile, java.lang.String keyfile, java.lang.StringBuffer passphrase, java.lang.String algorithm, java.lang.String mode, java.lang.String padding, byte[] seed)
          Encrypts a file with a symmetric key
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Crypt

public Crypt()
Method Detail

encrypt

public static java.lang.StringBuffer encrypt(java.lang.StringBuffer text,
                                             java.lang.String keyfile,
                                             java.lang.StringBuffer passphrase,
                                             java.lang.String algorithm,
                                             java.lang.String mode,
                                             java.lang.String padding,
                                             byte[] seed)
                                      throws CryptoException,
                                             KeystoreException
Encrypts a message with a symmetric key

Parameters:
text - the message to encrypt
keyfile - keyfile(name)
passphrase - the passphrase for the keystore
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
seed - seed for SecureRandom (optional)
Returns:
encrypted message in BASE64
Throws:
CryptoException - for encryption errors
KeystoreException - when keystore could not be loaded

encrypt

public static java.lang.StringBuffer encrypt(java.lang.StringBuffer text,
                                             java.security.Key secretKey,
                                             java.lang.String algorithm,
                                             java.lang.String mode,
                                             java.lang.String padding,
                                             byte[] seed)
                                      throws CryptoException
Encrypts a message with a symmetric key

Parameters:
text - the message to encrypt
secretKey - the secret key
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
seed - seed for SecureRandom (optional)
Returns:
encrypted message in BASE64
Throws:
CryptoException - for encryption errors

encryptFile

public static void encryptFile(java.lang.String file,
                               java.lang.String newfile,
                               java.lang.String keyfile,
                               java.lang.StringBuffer passphrase,
                               java.lang.String algorithm,
                               java.lang.String mode,
                               java.lang.String padding,
                               byte[] seed)
                        throws CryptoException,
                               java.io.IOException,
                               KeystoreException
Encrypts a file with a symmetric key

Parameters:
file - the file to encrypt
newfile - the encrypted file
keyfile - keyfile(name)
passphrase - the passphrase for the keystore
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
seed - seed for SecureRandom (optional)
Throws:
CryptoException - encryption errors
java.io.IOException - I/O errors
KeystoreException - when keystore could not be loaded

encrypt

public static void encrypt(java.io.InputStream is,
                           java.io.DataOutputStream daos,
                           java.security.Key secretKey,
                           java.lang.String algorithm,
                           java.lang.String mode,
                           java.lang.String padding,
                           byte[] seed,
                           int bufferlength)
                    throws CryptoException,
                           java.io.IOException
Encrypts any inputstream with a symmetric key

Parameters:
is - the inputstream to encrypt
daos - the encrypted outputstream
secretKey - the secret key
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
seed - seed for SecureRandom (optional)
bufferlength - buffer length in bytes
Throws:
CryptoException - for encryption errors
java.io.IOException - I/O errors

decrypt

public static java.lang.StringBuffer decrypt(java.lang.StringBuffer text,
                                             java.lang.String keyfile,
                                             java.lang.StringBuffer passphrase,
                                             java.lang.String algorithm,
                                             java.lang.String mode,
                                             java.lang.String padding)
                                      throws CryptoException,
                                             KeystoreException
Decrypts a message with a symmetric key

Parameters:
text - the message to decrypt in BASE64 format
keyfile - keyfile(name)
passphrase - the passphrase for the keystore
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
Returns:
deciphered message
Throws:
CryptoException - for encryption errors
KeystoreException - when keystore could not be loaded

decrypt

public static java.lang.StringBuffer decrypt(java.lang.StringBuffer text,
                                             java.security.Key secretKey,
                                             java.lang.String algorithm,
                                             java.lang.String mode,
                                             java.lang.String padding)
                                      throws CryptoException
Decrypts a message with a symmetric key

Parameters:
text - the message to decrypt in BASE64 format
secretKey - the secret key
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
Returns:
deciphered message
Throws:
CryptoException - for encryption errors

decryptFile

public static void decryptFile(java.lang.String file,
                               java.lang.String newfile,
                               java.lang.String keyfile,
                               java.lang.StringBuffer passphrase,
                               java.lang.String algorithm,
                               java.lang.String mode,
                               java.lang.String padding)
                        throws CryptoException,
                               KeystoreException,
                               java.io.IOException
Decrypts a file with a symmetric key

Parameters:
file - the file to decrypt
newfile - the deciphered file
keyfile - keyfile(name)
passphrase - the passphrase for the keystore
algorithm - encryption algorithm (e.g. "Rijndael")
mode - encryption mode (e.g. "CBC")
padding - padding scheme (e.g."PKCS7Padding")
Throws:
CryptoException - encryption errors
java.io.IOException - I/O errors
KeystoreException

decrypt

public static void decrypt(java.io.InputStream is,
                           java.io.DataOutputStream daos,
                           java.security.Key secretKey,
                           java.lang.String algorithm,
                           java.lang.String mode,
                           java.lang.String padding,
                           int bufferlength)
                    throws CryptoException,
                           java.io.IOException
Decrypts any inputstream with a symmetric key

Parameters:
is - the inputstream to decrypt
daos - the deciphered outputstream
secretKey - the secret key
algorithm - String encryption algorithm (e.g. "Rijndael")
mode - String encryption mode (e.g. "CBC")
padding - String padding scheme (e.g."PKCS7Padding")
bufferlength - buffer length in bytes
Throws:
CryptoException - for encryption errors
java.io.IOException - I/O errors