Hello everyone,
I´m trying to make a login feature using jasypt, acegi and hibernate to store the password in the db. Just for testing, I am trying to log on using the password "1". For that purpose I execute the following code on a main class:
1. StandardPBEStringEncryptor strongEncryptor = new StandardPBEStringEncryptor();
2. HibernatePBEStringEncryptor encryptor = new HibernatePBEStringEncryptor();
3. strongEncryptor.setPassword("jasypt");
4. strongEncryptor.setAlgorithm("PBEWithMD5AndDES");
5. encryptor.setEncryptor(strongEncryptor);
6. String str = encryptor.encrypt("1");
7. System.out.println(str);
I take the password generated and put manually on my db. Ok. Then I configured my app to work with Acegi, jasypt and hibernate, making encoders in a file named securityContext.xml - a Spring configuration file. It´s like this:
1. <bean id="jasyptPasswordEncryptor" class="org.jasypt.util.password.StrongPasswordEncryptor" />
2.
3.
4. <bean id="passwordEncoder" class="org.jasypt.spring.security.PasswordEncoder">
5. <property name="passwordEncryptor">
6. <ref bean="jasyptPasswordEncryptor" />
7. </property>
8. </bean>
9.
10. <!-- Dao da Autenticação -->
11. <bean id="daoAuthenticationProvider"
12. class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"
13. autowire="autodetect">
14. <property name="passwordEncoder"><ref bean="passwordEncoder"/></property>
15.
16. </bean>
17.
18. <bean id="strongEncryptor"
19. class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
20. <property name="algorithm">
21. <value>PBEWithMD5AndDES</value>
22. </property>
23. <property name="password">
24. <value>jasypt</value>
25. </property>
26. </bean>
27.
28. <bean id="hibernateStringEncryptor"
29. class="org.jasypt.hibernate.encryptor.HibernatePBEStringEncryptor">
30. <property name="registeredName">
31. <value>strongHibernateStringEncryptor</value>
32. </property>
33. <property name="encryptor">
34. <ref bean="strongEncryptor" />
35. </property>
36. </bean>
37.
There are no errors. The app starts on tomcat but when I try to log in with the password "1", looks like passwords dont match. I get a "Invalid password or login". I guess it´s an integration problem between hibernate and acegi or something. Anybody has a clue what´s going on? Please! Any help is appreciated - a lot!
Cheers!