Estou querendo salvar as senhas criptografadas e ler elas novamente para efetuar um controle ao trocar a senha, e não estou conseguindo fazer isso criptografando, sem criptografa ta funcionando quando fui implementar a cripto não sai do lugar
segue o código abaixo
package safeHistorical;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JOptionPane;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.RandomAccess;
public class GerenciadorUsuarios {
public void validarSenha(String usuario, String senha, String novaSenha, String confirmarNovaSenha){
try {
String arquivo = usuario+"senha.txt";
ArrayList<String> senhas = new ArrayList<String>();
BufferedReader in = new BufferedReader(new FileReader(arquivo));
while (in.ready()){
senhas.add(in.readLine());
}
in.close();
if (senhas.contains(novaSenha)){
JOptionPane.showMessageDialog(null, "Senha já cadastrada");
return;
}
String ultimaSenha = senhas.get(senhas.size()-1);
if (senha.equals(ultimaSenha) && (novaSenha.equals(confirmarNovaSenha ))){
senhas.add(novaSenha);
this.cadastrarSenha(senhas, usuario);//QUERO FAZER AO INVES DE ENTRAR EM CADASTRAR SENHA DE ENTRAR NO MÉTODO CRIPTOGRAFAR SENHA
//E DEPOIS DO ENTRAR EM CRIPTOGRAFAR AI SIM ENTRAR NO CADASTRAR SENHA.............
//TEM COMO?? E DEPOIS ELE VAI SABER LER A SENHA?
return;
}
else if (senha.equals(ultimaSenha) && (!novaSenha.equals(confirmarNovaSenha ))){
JOptionPane.showMessageDialog(null, "A confirmação da senha é diferente da senha informada!");
return;
}
else {
JOptionPane.showMessageDialog(null, "Senha atual não confere!");
return;
}
}
catch (IOException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
// private void criptografaSenha(String novaSenha){
// try {
// MessageDigest algorithm = MessageDigest.getInstance("SHA-256");
// byte messageDigest[] = algorithm.digest(novaSenha.getBytes("UTF-8"));
//
// StringBuilder hexString = new StringBuilder();
// for (byte b : messageDigest) {
// hexString.append(String.format("%02X", 0xFF & b));
// }
// novaSenha = hexString.toString();
//
//
// }
//
// catch (Exception e) {
//
// }
// }
private void cadastrarSenha(ArrayList<String> senhas, String usuario) {
try{
String arquivo = usuario+"senha.txt";
BufferedWriter x = new BufferedWriter(new FileWriter(arquivo));
for(int i = 0; i < senhas.size(); i++) {
String Grav = senhas.get(i)+"\r\n";
x.write(Grav);
}
x.close();
JOptionPane.showMessageDialog(null, "Arquivo gravado com sucesso");
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage(),"Atenção",JOptionPane.WARNING_MESSAGE);
}
}
}
se precisar mando o resto(entradas via frame)