Base64 input

As for canonical form, I don't see why adding fourteen internal spaces
per line is noticeably better than not doing so, but I don't care all
that much.

As far as the equal sign padding, I have a much stronger position.  The
padding is required.  The RFC is quite clear, and padding is a very
different subject from whitespace, where there is significant history of
leniency.

Among the packages with which I am familiar, Python, OpenSSL, and
OpenLDAP (dating back to the first UMich distributions) all require the
padding. If you make it optional, then you have supersetted the spec in
a fairly powerful way, and it would be misleading to still call it
base64.

There is an even stronger argument: what is the "canonical" form?  I can
easily deal with whitespace -- ignore it, as the spec says.  But which
of the following are legal base64 encodings of foo?
	Zm9vCg
	Zm9vCg=
	Zm9vCg==
	Zm9vCg===
	Zm9vCg====== (6 ='s)

If padding can be elided, why can't it be added?

Keep it clear, follow the spec, don't break installed code: leave the
padding as the RFC says.

Thank you.
	/r$

-- 
Zolera Systems, Your Key to Online Integrity
Securing Web services: XML, SOAP, Dig-sig, Encryption
http://www.zolera.com

Received on Friday, 27 July 2001 15:07:25 UTC