I am about to use an algorithm to encode a variable length but very long **String** field retrieved from an XML file, then that encoded data should be persisted in the database.

Later, when I recieve a second file I need to fetch the encoded data from database (previously stored) and then decode it and validate with the new data for duplicate.

I tried `org.apache.commons.codec.binary.Base64` class
it has 2 methods:

1. `encodeBase64(Byte[] barray)`
2. `decodeBase64(String str)`

which works perfectly fine and solves my problem.
But it converts 55 char string to just 6 char String.

So I wonder if there is any case where these algorithm encodes 2 Strings which are very large and have only 1 char mismatch (for example) into same encoded byte arrays.

I donot know about the `Base64` class much but if anyone can help me out it will be really helpful.

If you can suggest any other Algorithm which makes a large String short of fixed length and solves my purpose I will be happy to use it.

Thanks in advance.