Your app can protect its data from unauthorised acces by encrypting it with one of these components which implement a range of standard encryption and hashing algorithms. Including DES, TripleDes, RSA, Blowfish, Rijndael, RC2.
 I'm want my code to generate an MD5 hash of my file so that people can check it has not been modified
 I need my application to encrypt an entire file before I send it over the Intenet.

Java Data Encryption Components by Bean Software

Crypt Component 1.1

Common Crypt Component is product intended to programmers of Win32, .NET, Classic ASP, ASP.NET and Mobile applications, who wants to protect sensitive data or even files with powerful password protection. It is small, fast, multiplatform, low cost, intuitive and extremely "easy to use" component. You don't need to loose your working time to code, test and debug cryptography. Crypt can do it for you on a fast and simply way, so you can concentrate to other specific parts of your projects.

Java Data Encryption Components by CFXWorks, Inc.

CryptoXpress SDK V9.0 -  Commercial grade, strong encryption SDK for Java programmers. CryptoXpress SDK is a Java toolkit that can be used to custom develop application layer cryptography solutions offering "strong encryption", message digests (digital signatures), and several industry specific security features. The CryptoXpress SDK produces compatible results across many platforms including Windows, Linux (Red Hat and SUSE), HPUX, Solaris, and IBM’s xSeries, pSeries, zSeries and iSeries.