O programa deve ser capaz de gerar e conferir a validade de senhas de uso único conforme as características descritas nas 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.
package programaprincipal;
import java.util.Scanner;
import java.util.Random;
public class GERADORSENHA {
	
	public static void main(String[] args) {
		servidorOTP gerar = new servidorOTP();
		gerar.calculo();
	}
}
CLASSE QUE EU INSTANCIEI
package programaprincipal;
import java.util.Random;
import java.util.Scanner;
public class servidorOTP {
	private String letras = "123456789abcdefghijklmnopqrstuvxz";
	
	private String getLetras() {
		return letras;
	}
	
	private void setLetras(String letras) {
		this.letras = letras;
	}
	
	public void calculo() {
		Random random = new Random();
		String chaves = "";
		int index;
		
		for (int i = 0; i < 8; i++) {
			index = random.nextInt(letras.length());
			chaves += letras.substring(index, index + 1);
		}
		
		System.out.println("digite a chave fornecida " + chaves);
		Scanner sc = new Scanner(System.in);
		chaves = sc.nextLine();
		
		if (chaves.equals(chaves)) {
			System.out.println("acesso liberado");
		} else {
			System.out.println("acesso negado");
		}
	}
}
NAO CONSIGO VALIDAR A SENHA CRIADA, COLOCO A SENHA GERADA E A SENHA ERRADA O PROGRAMA SO COMPILA COMO ACESSO LIBERADOTexto pré-formatado


