Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.core.storage.sql
Class XORBinaryManager

java.lang.Object
  extended by org.nuxeo.ecm.core.storage.sql.DefaultBinaryManager
      extended by org.nuxeo.ecm.core.storage.sql.XORBinaryManager
All Implemented Interfaces:
BinaryManager

public class XORBinaryManager
extends DefaultBinaryManager

A simple binary manager that "hides" binaries on the filesystem by scrambling them on write and unscrambling them on read using XOR.

The RepositoryDescriptor holds a key that can be used to drive the scrambling/unscrambling.

This is to prevent casual reading of the files, but of course the algorithm and key for scrambling are available on the system as well, so this not a secure store.


Nested Class Summary
static class XORBinaryManager.XORBinaryScrambler
          A BinaryScrambler that does an XOR with the given pattern.
 
Nested classes/interfaces inherited from class org.nuxeo.ecm.core.storage.sql.DefaultBinaryManager
DefaultBinaryManager.DefaultBinaryGarbageCollector, DefaultBinaryManager.NullBinaryScrambler, DefaultBinaryManager.ScrambledBinary, DefaultBinaryManager.ScrambledFileInputStream, DefaultBinaryManager.ScrambledStreamSource
 
Field Summary
 
Fields inherited from class org.nuxeo.ecm.core.storage.sql.DefaultBinaryManager
CONFIG_FILE, DATA, DEFAULT_DEPTH, DEFAULT_DIGEST, DEFAULT_PATH, MAX_BUF_SIZE, MIN_BUF_SIZE, TMP
 
Constructor Summary
XORBinaryManager()
           
 
Method Summary
 void initialize(RepositoryDescriptor repositoryDescriptor)
          Initializer.
 
Methods inherited from class org.nuxeo.ecm.core.storage.sql.DefaultBinaryManager
getBinary, getBinary, getFileForDigest, getGarbageCollector, getStorageDir, toHexString, touch
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XORBinaryManager

public XORBinaryManager()
Method Detail

initialize

public void initialize(RepositoryDescriptor repositoryDescriptor)
                throws IOException
Description copied from interface: BinaryManager
Initializer.

Specified by:
initialize in interface BinaryManager
Overrides:
initialize in class DefaultBinaryManager
Throws:
IOException

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.