/* * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved. * * http://izpack.org/ * http://izpack.codehaus.org/ * * Copyright 2003 Elmar Grom * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.izforge.izpack.sample; import com.izforge.izpack.panels.*; /*---------------------------------------------------------------------------*/ /** * This class provides a demonstration for using an encryption service in * connection with a password field, as used in a <code>UserInputPanel</code>. * * @version 0.0.1 / 02/19/03 * @author Elmar Grom */ /*---------------------------------------------------------------------------*/ public class PWDEncryptor implements Processor { /*--------------------------------------------------------------------------*/ /** * Encrypts the a password and returns the encrypted result. <br> * <b>Note:</b> this is not a real encryption algorithm. The code only * demonstrates the use of this interface in a real installation environment. * For a real application a proper encryption mechanism must be used. Though * Java 1.4.X provides such algorithms, you need to consider that not all * potential target environments have this version installed. It seems best * to include the necessary encryption library with the installer. * * @param client the client object using the services of this encryptor. * * @return the encryption result. */ /*--------------------------------------------------------------------------*/ public String process (ProcessingClient client) { if (client.getNumFields () < 1) { return (""); } char [] password = client.getFieldContents (0).toCharArray (); char [] result = new char [password.length]; int temp; for (int i = 0; i < password.length; i++) { temp = password [i] - 57; if (i > 0) { temp = temp + password [i - 1]; } if ((temp % 3) == 0) { temp = temp + 13; } if (temp < 0) { temp = temp + 193; } result [i] = (char)temp; } return (new String (result)); } } /*---------------------------------------------------------------------------*/