Jasypt Hibernate5 Decryption не работаетJAVA

Программисты JAVA общаются здесь
Anonymous
Jasypt Hibernate5 Decryption не работает

Сообщение Anonymous »

Наше приложение использовало Hibernate 5 и Jasypt 1.9.3. Мы сохранили зашифрованную пароль базы данных с помощью Jasyptcli. После выполнения приложения была зарегистрирована следующая ошибка: < /p>
2025-09-03 13:33:42,275 ERROR [FIEPSBatchmain][][ ] Exception occurred in Class Name : org.hibernate.service.internal.AbstractServiceRegistryImpl Method Name : createService Line Number : 244
2025-09-03 13:33:42,275 DEBUG [FIEPSBatchmain][][ ] there is some exception
org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:244) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at
Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:105) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:123) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:41) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:106) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.(PooledConnections.java:40) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.(PooledConnections.java:19) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:138) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:110) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:74) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
... 13 more
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at
< /code>
анализ < /strong> < /p>
  • В сети базы данных или конфигурации разрешений не было проблем. Пароль, который был отправлен в запросе для подключения к базе данных, не был отправлен в чистоте. Jasypt должен расшифровать этот пароль, используя EncryptedPasswordDriverManagerConnectionProvider .

Подробная информация о конфигурации


написано. />[*]jasypt-1.9.3.jar
Jasypt-hibernate5-1.9.3Hibernate.cfg.xml:





org.jasypt.hibernate5.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
configurationHibernateEncryptor
com.mysql.cj.jdbc.Driver
jdbc:mysql://localhost:3306/test
0
true
root
ENC(AaQ8B9q34401biN00TKSdjN6OvpJvcDY)
10
true
false
org.hibernate.dialect.MySQLDialect




< /code>
HibernateUtil.java
public static void loadSecure() {
StandardPBEStringEncryptor strongEncryptor = new StandardPBEStringEncryptor();
strongEncryptor.setAlgorithm("PBEWithMD5AndTripleDES");
strongEncryptor.setPassword("3758ce1ff7b1462ea6a0a8a054cfd966");
HibernatePBEEncryptorRegistry registry = HibernatePBEEncryptorRegistry
.getInstance();
registry.registerPBEStringEncryptor("configurationHibernateEncryptor",
strongEncryptor);
}

File file = new File(hbConfFileLoc);
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure(file).build();
Metadata metaData = new MetadataSources(standardRegistry).getMetadataBuilder().build();
sessionFactory = metaData.getSessionFactoryBuilder().build(); //error occurs here


Подробнее здесь: https://stackoverflow.com/questions/797 ... ot-working

Вернуться в «JAVA»