Bom dia pessoal. Alguem ja usou criptografia atravez do Jasypt e integrou ele com o Hibernate 3.3? Estou seguindo o material de referncia do framework mas nao esta dando certo. Segui o material aqui : http://www.hibernate.org/415.html… Quando vou persistir os dados ele da o erro:
org.jasypt.exceptions.EncryptionInitializationException: No string encryptor registered for hibernate with name "strongHibernateStringEncryptor"
Sendo que eu implementei o ServletContextListener e registrei corretamente. Veja abaixo:
public class JosyptListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent event) {
}
public void contextInitialized(ServletContextEvent event) {
StandardPBEStringEncryptor strongEncryptor = new StandardPBEStringEncryptor();
strongEncryptor.setAlgorithm("PBEWithMD5AndDES"); // not really needed as it is the default
HibernatePBEEncryptorRegistry registry = HibernatePBEEncryptorRegistry.getInstance();
registry.registerPBEEncryptor("strongHibernateStringEncryptor", strongEncryptor);
}
}
Veja o hbm…
<hibernate-mapping package="br.com.entity">
<typedef name="encryptedString" class="org.jasypt.hibernate.type.EncryptedStringType">
<param name="encryptorRegisteredName">strongHibernateStringEncryptor</param>
</typedef>
<class name="Usuario" table="Usuario">
<id name="id" type="java.lang.Long" column="id_usuario">
<generator class="native">
</generator>
</id>
<property name="nome" type="java.lang.String" />
<property name="cpf" type="encryptedString"/>
</class>
</hibernate-mapping>
Ja debuguei a aplicação e ele executa o Listener sim… Será que é incompatibilidade de jar’s? Estou usando JSF 1.2, Hibernate 3.3, jasypt-1.5 (ja testei com a versao 1.1 tambem), jasypt-hibernate-1.1 (sendo que nao consegui encontrar a versao 1.5 do mesmo)…
Obrigado…