View Javadoc

1   /**
2    *
3    * Copyright 2005 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
16   */
17  package org.apache.geronimo.util;
18  
19  import java.io.Serializable;
20  
21  /**
22   * A static class that handles storing and reading values, potentially using
23   * encryption.  This can be used as the interface to any back-end encryption
24   * services.
25   *
26   * @version $Rev: 410741 $ $Date: 2006-05-31 21:35:48 -0700 (Wed, 31 May 2006) $
27   */
28  public class EncryptionManager {
29      private final static String SIMPLE_ENCRYPTION_PREFIX = "{Simple}";
30  
31      /**
32       * Gets a String which contains the Base64-encoded form of the
33       * encrypted form of the source.
34       */
35      public static String encrypt(Serializable source) {
36          return SIMPLE_ENCRYPTION_PREFIX +SimpleEncryption.encrypt(source);
37      }
38  
39      /**
40       * Given a String which is the Base64-encoded encrypted data, retrieve
41       * the original Object.
42       */
43      public static Object decrypt(String source) {
44          if(source.startsWith(SIMPLE_ENCRYPTION_PREFIX)) {
45              return SimpleEncryption.decrypt(source.substring(SIMPLE_ENCRYPTION_PREFIX.length()));
46          }
47          return source;
48      }
49  }