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:
encodeBase64(Byte[] barray)
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.
Base64
class is encoding a 55-char input into a 6-char output. If that class really is doing base64 encoding, that implies its encoded a 4-char input (without==
padding on the end). It might help if you posted a short sample of how you're using the class, because I suspect it might not be doing what you think it's doing (have you tried decoding the 6-char output as well?). – Lhary