KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > turbine > services > crypto > CryptoAlgorithm


1 package org.apache.turbine.services.crypto;
2
3 /*
4  * Copyright 2001-2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License")
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 /**
20  * This interface describes the various Crypto Algorithms that are
21  * handed out by the Crypto Service.
22  *
23  * @author <a HREF="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
24  * @version $Id: CryptoAlgorithm.java,v 1.4.2.2 2004/05/20 03:05:17 seade Exp $
25  */

26 public interface CryptoAlgorithm
27 {
28     /**
29      * Allows the user to set a salt value whenever the
30      * algorithm is used. Setting a new salt should invalidate
31      * all internal state of this object.
32      * <p>
33      * Algorithms that do not use a salt are allowed to ignore
34      * this parameter.
35      * <p>
36      * Algorithms must be able to deal with the null value as salt.
37      * They should treat it as "use a random salt".
38      *
39      * @param salt The salt value
40      */

41     void setSeed(String JavaDoc salt);
42
43     /**
44      * Performs the actual encryption.
45      *
46      * @param value The value to be encrypted
47      * @return The encrypted value
48      * @throws Exception various errors from the underlying ciphers.
49      * The caller should catch them and report accordingly.
50      */

51     String JavaDoc encrypt(String JavaDoc value)
52             throws Exception JavaDoc;
53
54     /**
55      * Algorithms that perform multiple ciphers get told
56      * with setCipher, which cipher to use. This should be
57      * called before any other method call.
58      *
59      * If called after any call to encrypt or setSeed, the
60      * CryptoAlgorithm may choose to ignore this or to reset
61      * and use the new cipher.
62      *
63      * If any other call is used before this, the algorithm
64      * should use a default cipher and not throw an error.
65      *
66      * @param cipher The cipher to use.
67      */

68     void setCipher(String JavaDoc cipher);
69
70 }
71
Popular Tags