org.eclipse.emf.ecore.resource.impl
Class AESCipherImpl

java.lang.Object
  extended by org.eclipse.emf.ecore.resource.impl.AESCipherImpl
All Implemented Interfaces:
URIConverter.Cipher

public class AESCipherImpl
extends java.lang.Object
implements URIConverter.Cipher

EMF implementation for the URIConverter.Cipher interface using the AES encryption algorithm.

This shows how this class can be used:

 Map options = new HashMap();
 options.put(Resource.OPTION_CIPHER, 
             new AESCipherImpl("12345")); // "That's amazing! I've got the same combination on my luggage!"
 resource.save(options);
 resource.load(options);
 


Constructor Summary
AESCipherImpl(java.lang.String password)
           
 
Method Summary
 java.io.InputStream decrypt(java.io.InputStream in)
          Decrypts the specified input stream.
 java.io.OutputStream encrypt(java.io.OutputStream outputStream)
          Encrypts the specified output stream.
 void finish(java.io.InputStream in)
          This method is invoked after the decrypted input stream is used allowing the Cipher implementation to do any maintenance work required, such as flushing internal cache.
 void finish(java.io.OutputStream out)
          This method is invoked after the encrypted output stream is used allowing the Cipher implementation to do any maintenance work required, such as flushing an internal cache.
 int getKeysize()
           
 void setKeysize(int keysize)
          Sets the key size to be used when creating the AES key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AESCipherImpl

public AESCipherImpl(java.lang.String password)
              throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

setKeysize

public void setKeysize(int keysize)

Sets the key size to be used when creating the AES key. Using anything larger than 128 may make the data file non-portable.

The key size cannot be changed after this Cipher is used.


getKeysize

public int getKeysize()

encrypt

public java.io.OutputStream encrypt(java.io.OutputStream outputStream)
                             throws java.lang.Exception
Description copied from interface: URIConverter.Cipher
Encrypts the specified output stream.

Specified by:
encrypt in interface URIConverter.Cipher
Returns:
an encrypted output stream
Throws:
java.lang.Exception

finish

public void finish(java.io.OutputStream out)
            throws java.lang.Exception
Description copied from interface: URIConverter.Cipher
This method is invoked after the encrypted output stream is used allowing the Cipher implementation to do any maintenance work required, such as flushing an internal cache.

Specified by:
finish in interface URIConverter.Cipher
Parameters:
out - the encrypted stream returned by URIConverter.Cipher.encrypt(OutputStream).
Throws:
java.lang.Exception

decrypt

public java.io.InputStream decrypt(java.io.InputStream in)
                            throws java.lang.Exception
Description copied from interface: URIConverter.Cipher
Decrypts the specified input stream.

Specified by:
decrypt in interface URIConverter.Cipher
Returns:
a decrypted input stream
Throws:
java.lang.Exception

finish

public void finish(java.io.InputStream in)
            throws java.lang.Exception
Description copied from interface: URIConverter.Cipher
This method is invoked after the decrypted input stream is used allowing the Cipher implementation to do any maintenance work required, such as flushing internal cache.

Specified by:
finish in interface URIConverter.Cipher
Parameters:
in - the stream returned by URIConverter.Cipher.decrypt(InputStream).
Throws:
java.lang.Exception

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.