Hi, I have made a Java application that uses CheckedOutputStream in addition with ZipOutputStream to compress a certain number of files. After a set of files are compressed, the Checksum is retrieved and stored in a database table. This zip file along with the checksum value is then sent over to another place via e-mail. Here another Java application decompresses the zip file using the ZipInputStream along with CheckedInputStream. After all files have been extracted from the zip file, the Checksum value is retrieved and compared with the one sent. The problem is that sometimes the Checksum value so retrieved is not the same as the one sent. Can anyone tell as what could be the possible reasons for such a difference in checksum values?