001 package users; 002 003 import java.io.Serializable; 004 005 /** 006 * Strategy to be used when garbling passwords. A concrete implementation of this interface can be found in 007 * {@link User#DEFAULT_PASSWORD_GARBLER}. 008 * 009 * @see User#setGlobalPassWDGarbler 010 * @see User#garblePassWD 011 * 012 * @author Steffen Zschaler 013 * @version 2.0 05/05/1999 014 * @since v2.0 015 */ 016 public interface PassWDGarbler extends Serializable { 017 018 /** 019 * Garble the given password and return the result. 020 * 021 * <p>You can implement any garbling algorithm as long as the follwoing conditions 022 * hold: 023 * <ol> 024 * <li>It takes a char[] and returns a char[].</li> 025 * <li>Different passwords give different results.</li> 026 * <li>The same password gives the same result in subsequent calls.</li> 027 * </ol> 028 * 029 * @param sPassWD the password to be garbled. 030 * 031 * @return the garbled password. 032 * 033 * @see User#garblePassWD 034 * @see User#isPassWd 035 * 036 * @override Always 037 */ 038 public char[] garblePassWD(char[] sPassWD); 039 }