В настоящее время у меня есть три приложения Java, которые я хочу зашифровать паролями DB. Для моего первого приложения следующий синтаксис для jasypt работает. У меня есть зашифрованный пароль, и он может войти в db без проблем. Тем не менее, мои другие два приложения не работают с неправильной ошибкой пароля пользователя. Мой главный вопрос: есть ли способ отладить jasypt, чтобы я мог увидеть, пыталась ли он расшифровать пароль, указанный ниже? Я предполагаю, что дешифрование терпит неудачу и пытается войти в систему, используя зашифрованный пароль. Если я изменю файл persistence.xml на незашифрованный пароль, он будет работать нормально. Спасибо за любые мысли, которые могут быть у любого!Как отладить jasypt
Вот мои файлы:
jasypt пароль поколения:
c:\jasypt-1.9.2\bin\encrypt input=mydbpassword password=password algorithm=PBEWithMD5AndTripleDES
----ENVIRONMENT----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 24.45-b08
-----ARGUMENTS-----------------
input: mydbpassword
password: password
algorithm: PBEWithMD5AndTripleDES
------OUTPUT-------------------
h+RqHWpovo5q390ID9+dTTs/9k0bmwlI
persistence.xml
<persistence-unit name="localDB" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="connection.provider_class" value="org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider" />
<property name="connection.encryptor_registered_name" value="strongHibernateStringEncryptor" />
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
<!-- DEV -->
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=foo.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=db2)))" />
<property name="hibernate.connection.username" value="db2" />
<property name="hibernate.connection.password" value="ENC(h+RqHWpovo5q390ID9+dTTs/9k0bmwlI)" />
весна фасоли:
<bean id="hibernateStringEncryptor" class="org.jasypt.hibernate3.encryptor.HibernatePBEStringEncryptor">
<property name="registeredName">
<value>strongHibernateStringEncryptor</value>
</property>
<property name="algorithm">
<value>PBEWithMD5AndTripleDES</value>
</property>
<property name="password>
<value>password</value>
</property>
</bean>
Ошибка я получил, когда я раскрываю a pp:
2016-05-09 16:37:29,149 INFO [STDOUT] INFO [DriverManagerConnectionProvider] using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=foo.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=db2)))
2016-05-09 16:37:29,149 INFO [STDOUT] INFO [DriverManagerConnectionProvider] connection properties: {user=db2, password=****,autocommit=true,release_mode=auto}
2016-05-09 16:37:29,149 INFO [STDOUT] WARN [SettingsFactory] Could not obtain conection metadata java.sql.SQLException: ORA-01017: Invalid username/password; logon denied