commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Fernández (JIRA) <j...@apache.org>
Subject [jira] Commented: (CODEC-89) new Base64().encode() appends a CRLF, and chunks results into 76 character lines
Date Mon, 18 Jan 2010 08:56:54 GMT

    [ https://issues.apache.org/jira/browse/CODEC-89?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801703#action_12801703
] 

Daniel Fernández commented on CODEC-89:
---------------------------------------

I am the lead developer of Jasypt [http://www.jasypt.org], which uses this wonderful Commons-Codec
library as a dependency. Base64 is the default encoding for encrypted output in Jasypt.

This issue is of an inmense importance to Jasypt. If my vote makes any difference, please,
go back to the 1.3 behaviour ASAP, as this is breaking compatibiliy of encrypted texts for
many of our users and not allowing them to use an up-to-date version of commons-codec. I would
be forced to remove commons-codec from jasypt's dependency list if this bug is not solved
soon :-(

Thanks.
Daniel.


> new Base64().encode() appends a CRLF, and chunks results into 76 character lines
> --------------------------------------------------------------------------------
>
>                 Key: CODEC-89
>                 URL: https://issues.apache.org/jira/browse/CODEC-89
>             Project: Commons Codec
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Julius Davies
>         Attachments: Base64.patch, codec-89.patch
>
>
> The instance encode() method (e.g. new Base64().encode()) appends a CRLF.  Actually it's
fully chunking the output into 76 character lines.  Commons-Codec-1.3 did not do this.  The
static Base64.encodeBase64() method behaves the same in both 1.3 and 1.4, so this problem
only affects the instance encode() method.
> {code}
> import org.apache.commons.codec.binary.*;
> public class B64 {
>   public static void main(String[] args) throws Exception {
>     Base64 b64 = new Base64();
>     String s1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
>     String s2 = "aaaaaaaaaa";
>     String s3 = "a";
>     
>     byte[] b1 = s1.getBytes("UTF-8");
>     byte[] b2 = s2.getBytes("UTF-8");
>     byte[] b3 = s3.getBytes("UTF-8");
>     byte[] result;
>     result = Base64.encodeBase64(b1);
>     System.out.println("[" + new String(result, "UTF-8") + "]");
>     result = b64.encode(b1);
>     System.out.println("[" + new String(result, "UTF-8") + "]");
>     result = Base64.encodeBase64(b2);
>     System.out.println("[" + new String(result, "UTF-8") + "]");
>     result = b64.encode(b2);
>     System.out.println("[" + new String(result, "UTF-8") + "]");
>     result = Base64.encodeBase64(b3);
>     System.out.println("[" + new String(result, "UTF-8") + "]");
>     result = b64.encode(b3);
>     System.out.println("[" + new String(result, "UTF-8") + "]");
>   }
> }
> {code}
> Here's my output:
> {noformat}
> $ java -cp commons-codec-1.3.jar:. B64
> [YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==]
> [YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==]
> [YWFhYWFhYWFhYQ==]
> [YWFhYWFhYWFhYQ==]
> [YQ==]
> [YQ==]
> $ java -cp commons-codec-1.4.jar:. B64
> [YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==]
> [YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
> YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==
> ]
> [YWFhYWFhYWFhYQ==]
> [YWFhYWFhYWFhYQ==
> ]
> [YQ==]
> [YQ==
> ]
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message