Alguém pode me ajudar nesse programa?

O programa deve ser capaz de gerar e conferir a validade de senhas de uso único conforme ascaracterísticasdescritasnas regras acima.Os mecanismos de geração e conferência de senhas devem ser implementados na classe ServidorOTP. Essa classe deve utilizar o encapsulamento da senha para protegê-la de acessos indevidos por parte de seus clientes.O programa principal deve permitir ao usuário gerar uma senha e também validar uma senha, sendo que ambas operações devem ser realizadas pela classe ServidorOTP.

tenho que fazer um exercício como na descrição acima, porém eu fiz dessa forma mas está errado. alguém poderia me ajudar a fazer do modo certo esse exercício?

package senha;

import java.util.Random;

public class Principal {

	private static final char[] ALL_CHARS = new char[62];
	private static final Random RANDOM = new Random();

	static {
		for (int i = 48, j = 0; i < 123; i++) {
			if (Character.isLetterOrDigit(i)) {
				ALL_CHARS[j] = (char) i;
				j++;
			}
		}
	}

	public static String getRandomPassword(final int length) {
		final char[] result = new char[length];
		for (int i = 0; i < length; i++) {
			result[i] = ALL_CHARS[RANDOM.nextInt(ALL_CHARS.length)];
		}
		return new String(result);
	}

	public static String getRandomPassword() {
		return getRandomPassword(8);
	}

}