KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > izforge > izpack > sample > PWDEncryptor


1 /*
2  * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
3  *
4  * http://www.izforge.com/izpack/
5  * http://developer.berlios.de/projects/izpack/
6  *
7  * Copyright 2003 Elmar Grom
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */

21
22 package com.izforge.izpack.sample;
23
24 import com.izforge.izpack.panels.*;
25
26 /*---------------------------------------------------------------------------*/
27 /**
28  * This class provides a demonstration for using an encryption service in
29  * connection with a password field, as used in a <code>UserInputPanel</code>.
30  *
31  * @version 0.0.1 / 02/19/03
32  * @author Elmar Grom
33  */

34 /*---------------------------------------------------------------------------*/
35 public class PWDEncryptor implements Processor
36 {
37  /*--------------------------------------------------------------------------*/
38  /**
39   * Encrypts the a password and returns the encrypted result. <br>
40   * <b>Note:</b> this is not a real encryption algorithm. The code only
41   * demonstrates the use of this interface in a real installation environment.
42   * For a real application a proper encryption mechanism must be used. Though
43   * Java 1.4.X provides such algorithms, you need to consider that not all
44   * potential target environments have this version installed. It seems best
45   * to include the necessary encryption library with the installer.
46   *
47   * @param client the client object using the services of this encryptor.
48   *
49   * @return the encryption result.
50   */

51  /*--------------------------------------------------------------------------*/
52   public String JavaDoc process (ProcessingClient client)
53   {
54     if (client.getNumFields () < 1)
55     {
56       return ("");
57     }
58     
59     char [] password = client.getFieldContents (0).toCharArray ();
60     char [] result = new char [password.length];
61     int temp;
62     
63     for (int i = 0; i < password.length; i++)
64     {
65       temp = password [i] - 57;
66       if (i > 0)
67       {
68         temp = temp + password [i - 1];
69       }
70
71       if ((temp % 3) == 0)
72       {
73         temp = temp + 13;
74       }
75       if (temp < 0)
76       {
77         temp = temp + 193;
78       }
79     
80       result [i] = (char)temp;
81     }
82
83     return (new String JavaDoc (result));
84   }
85 }
86 /*---------------------------------------------------------------------------*/
87
Popular Tags