boa tarde, o seguinte código está escrevendo apenas a data de hj no arquivo .ini, queria que ele escrevesse o valor para chave.
no arquivo banco.ini tenho somente: senha=
Properties confBanco = new Properties();
FileOutputStream out = new FileOutputStream("banco.ini");
confBanco.store(out, null);
confBanco.setProperty("senha", "aaa");
out.close();
O valor pra senha eu queria que ficasse no banco.ini como aaa
blz, eu tava invertendo ali… agora ele grava certinho, só que queria que ele gravasse a senha “criptografada” no arquivo .ini. Ele ateh grava, mas qdo vou descriptar da um erro.
Esse código grava ou altera os valores do banco.ini, a senha eu acho que ele cripfografa e joga no valor senha.
try {
KeyGenerator keygen = KeyGenerator.getInstance("AES");
SecretKey aesKey = keygen.generateKey();
Cipher aesCipher = Cipher.getInstance("AES");
String sen = String.valueOf(jPFSenhaBanco.getPassword());
byte[] senha = sen.getBytes();
aesCipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] senhaCriptografada = aesCipher.doFinal(senha);
Properties props = new Properties();
FileInputStream fis = null;
try {
fis = new FileInputStream("banco.ini");
props.load(fis);
fis.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
if (jCBTipoBanco.getSelectedIndex() == 0) {
props.setProperty("tipo", "firebird");
} else {
if (jCBTipoBanco.getSelectedIndex() == 1) {
props.setProperty("tipo", "sqlServer");
}
}
props.setProperty("caminho", jTFCaminhoBanco.getText());
props.setProperty("usuario", jTFUsuarioBanco.getText());
props.setProperty("senha", new String(senhaCriptografada));
FileOutputStream fos = null;
try {
fos = new FileOutputStream("banco.ini");
props.store(fos, null);
fos.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
} catch (Exception ex) {
ex.printStackTrace();
}
Agora o código que joga esses dados nos campos e tal
try {
Properties confBanco = new Properties();
confBanco.load(new FileInputStream("banco.ini"));
Variaveis.tipoBanco = confBanco.getProperty("tipo");
if (Variaveis.tipoBanco.equals("firebird")) {
jCBTipoBanco.setSelectedIndex(0);
} else {
if (Variaveis.tipoBanco.equals("sqlServer")) {
jCBTipoBanco.setSelectedIndex(1);
}
}
Variaveis.caminhoBanco = confBanco.getProperty("caminho");
jTFCaminhoBanco.setText(Variaveis.caminhoBanco);
Variaveis.usuarioBanco = confBanco.getProperty("usuario");
jTFUsuarioBanco.setText(Variaveis.usuarioBanco);
Variaveis.senhaBanco = confBanco.getProperty("senha");
//trata da senha, joga descriptada no edit.
try {
KeyGenerator keygen = KeyGenerator.getInstance("AES");
SecretKey aesKey = keygen.generateKey();
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.DECRYPT_MODE, aesKey);
byte[] senhaDescriptografada = aesCipher.doFinal(Variaveis.senhaBanco.getBytes()); //erro aqui
jPFSenhaBanco.setText(senhaDescriptografada.toString());
} catch (Exception ex) {
ex.printStackTrace();
}
} catch (IOException ioe) {
JOptionPane.showMessageDialog(this, ioe + " Erro");
}
Qualquer ajuda é bem vinda
valeu