2014-04-04 12 views
6

C'è un modo che io possa criptare la password nel log4j.propertiesCome posso crittografare la password in log4j.properties?

segue è la mia appender

log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/anilpractice 
log4j.appender.DB.driver=com.mysql.jdbc.Driver 
log4j.appender.DB.user=root 
[email protected] 
log4j.appender.DB.sql=INSERT INTO logs VALUES('%x','%d{dd MMM yyyy HH:mm:ss}','%C','%p','%m') 
log4j.appender.DB.layout=org.apache.log4j.PatternLayout 

Please help me come posso cifrare tag .password?

grazie a tutti.

+0

È necessario inserire la password crittografata nel file log4j, anziché eseguire l'operazione di crittografia. – Masudul

+0

Come posso connettermi al database con password crittografata? Come si specifica al database che sto utilizzando una password crittografata? Puoi spiegare per favore con un esempio? – ANILBABU

risposta

1

Grazie a Dio, finalmente qualche soluzione per mantenere password crittografata in Log4j.properties

Che tutto quello che dobbiamo fare è,

Replicate JDBCAppender classe di log4j.jar.

modificare la definizione di

public void setPassword(String password) 
    { 
      this.databasePassword = password; 
    } 

in JDBCAppender

base alle vostre necessità e sostituire quella classe in log4j.jar.

1

Non penso sia possibile. Anche se è possibile prendere in considerazione quanto segue:

Se è possibile stabilire una connessione solo fornendo una password crittografata, è come se la password non fosse crittografata, poiché chiunque copia la password crittografata può collegare un database compromesso. L'unica differenza è che la password viene presentata in un modo diverso e forse meno leggibile dall'uomo, ma comunque completamente utile.

È consigliabile creare un utente DB con diritti limitati per scrivere solo nella tabella di registrazione. In questo modo una password rubata non può danneggiare molto il tuo database.