1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
public void EncyptColumn(String host, String port, String baseD, String tableName,
String columnName,String idTable,String pwd, String algo,String user,String pwdUser) {
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
HibernatePBEEncryptorRegistry registry = HibernatePBEEncryptorRegistry.getInstance();
encryptor.setPassword(pwd);
encryptor.setAlgorithm(algo);
registry.registerPBEStringEncryptor("strongHibernateEncryptor", encryptor);
logger.info("Execution de la methode EncryptColumn(host="+host+" port= "+port+" baseD= "+baseD+" TableName= "+tableName
+"TableIdName"+idTable+"ColumnName="+columnName+" pwd= "+pwd+" algo="+algo+"user="+user+" pwdUser="+pwdUser);
try {
//Déclaration du driver :
Class.forName("com.mysql.jdbc.Driver");
//Url de connexion
String dbUrl="jdbc:mysql://"+host+":"+port+"/"+baseD;
//connexion à la base
Connection dbcon = DriverManager.getConnection(dbUrl,user,pwdUser);
Statement statement1 = dbcon.createStatement();
String reqSQL = "select "+ idTable + ","+ columnName +" from "+ tableName;
ResultSet result = statement1.executeQuery( reqSQL );
while(result.next()){
result.getString(columnName);
System.out.println("Debut");
logger.info("Crypatge de la requete");
PreparedStatement statement2 = dbcon.prepareStatement("update " + tableName + " set " + columnName + " = ? where "+ idTable +" = ?");
statement2.setString(1, encryptor.decrypt(result.getString(columnName)));
statement2.setInt(2, result.getInt(idTable));
statement2.execute();
logger.info(" resultat crypatge/decryptage de la requete "+statement2.execute());
statement2.close();
System.out.println("Fin");
}
}catch( ClassNotFoundException e ){
logger.error(e.getMessage());
}catch( SQLException e ){
logger.error(e.getMessage());
}
} |
Partager