Thank you. I managed to get the registry up, but the seamless integration with hibernate still fails.
Still, since I have the registry running, I am able to write the necessary code to make it work in the few places I needed to encrypt/decrypt the data. Sigbjørn Tvedt On Wed, Aug 3, 2011 at 10:22, Geoff Callender < geoff.callender.jumpst...@gmail.com> wrote: > I've used Jasypt but I haven't gone the next step of integrating it with > Hibernate. Regardless, I think this might do the trick... > > At the same level as components, pages, css, etc, create a package called > startup or something like that. It needs to build into WEB-INF/classes/. > Then put a class in it like this... > > package mywebapp.startup; > > public class MyHibernateEncyptorInitializer implements > ServletContextListener { > ServletContext servletContext; > > public void contextInitialized(ServletContextEvent > servletContextEvent) { > StandardPBEStringEncryptor strongEncryptor = new > StandardPBEStringEncryptor(); > ... > HibernatePBEEncryptorRegistry registry = > HibernatePBEEncryptorRegistry.getInstance(); > > registry.registerPBEStringEncryptor("strongHibernateStringEncryptor", > strongEncryptor); > } > > public void contextDestroyed(ServletContextEvent > servletContextEvent) { > // Nothing to do here > } > } > > ...it should compile into the webapp's classesand in web.xml, you'll find > you have display-name, context-param, filter, and filter-mapping sections... > > <listener> > > > <listener-class>mywebapp.startup.MyHibernateEncryptorInitializer</listener-class> > </listener> > > The encryptor will then be registered into Hibernate when the > ServletContext is initialized, ie. when the web server starts up. > > Geoff > > On 03/08/2011, at 5:46 PM, Sigbjørn Tvedt wrote: > > > Hi. > > > > I am trying to make some fields in the database encrypted by using Jasypt > > (Following this tutorial http://www.jasypt.org/hibernate3.html ) > > > > The part where I am stuck are when I am to register the encryptor. Have > any > > of you done this and care to share the code or some pointers to how I can > > register the encryptor? > > > > The example says: > > ----- > > Without Spring, we will have to use the HibernatePBEEncryptorRegistry > > singleton directly, registering our encryptor at application > initialization > > like this (for example, inside aServletContextListener for a webapp): > > > > StandardPBEStringEncryptor strongEncryptor = new > > StandardPBEStringEncryptor(); > > ... > > HibernatePBEEncryptorRegistry registry = > > HibernatePBEEncryptorRegistry.getInstance(); > > registry.registerPBEStringEncryptor("strongHibernateStringEncryptor", > > strongEncryptor); > > ----- > > > > > > Regards > > Sigbjørn Tvedt > >