Is it even possible?
Can I fetch encrypted data from DB and decode it using some algorithm within java before displaying it in the report?
With some creative thinking ANYTHING IS POSSIBLE! Yes, of course you can decrypt the data in the Java layer and make that decrypted data available to Jasper. Jasper has a variety of datasources available, but I think the best approach in this situation would be to use a JavaBean collection as the data source. Pull the data you need, and during the decryption process populate your JavaBean collection, then reference that as the report's datasource.