[squeak-dev] base64 encoding and CRs

Tobias Pape Das.Linux at gmx.de
Sat Aug 22 07:50:28 UTC 2020


Hi

> On 22.08.2020, at 06:35, tim Rowledge <tim at rowledge.org> wrote:
> 
> 
> 
>> On 2020-08-21, at 6:30 PM, Phil B <pbpublist at gmail.com> wrote:
>> 
>> Tim,
>> 
>> Correct, base64 encoding only emits a subset of printable characters (see https://en.wikipedia.org/wiki/Base64#Base64_table)  At your option, you can also insert CR's into a base64 string which should be ignored on decoding. (as was common for various email clients to do back in the day)
>> 
>> Phil
> 
> 
>> On 2020-08-21, at 6:29 PM, Vanessa Freudenberg <vanessa at codefrau.net> wrote:
>> 
>> Hi Tim,
>> 
>> our encoder might not be producing cr's, but base64 payloads in the wild often have lines no longer than 80 characters, so before decoding it makes sense to remove that. 
>> 
>> Vanessa
> 
> Hunh. Fascinating. So maybe there is a tiny bit of sense to the code I was peering tiredly at. Though given it was creating the base64 string right there, probably not in this case. I do love how the software word is so full of kludge upon jury-rig upon WAG!
> 
> Thanks for the enlightenment. 

Look at the raw email I'm just replying to:

=-=-=-=

From: tim Rowledge <tim at rowledge.org>
Message-Id: <5CAB7909-4B1B-4556-B725-5BC204440AA0 at rowledge.org>
Subject: Re: [squeak-dev] base64 encoding and CRs
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

Cgo+IE9uIDIwMjAtMDgtMjEsIGF0IDY6MzAgUE0sIFBoaWwgQiA8cGJwdWJsaXN0QGdtYWlsLmNv
bT4gd3JvdGU6Cj4gCj4gVGltLAo+IAo+IENvcnJlY3QsIGJhc2U2NCBlbmNvZGluZyBvbmx5IGVt
aXRzIGEgc3Vic2V0IG9mIHByaW50YWJsZSBjaGFyYWN0ZXJzIChzZWUgaHR0cHM6Ly9lbi53aWtp
cGVkaWEub3JnL3dpa2kvQmFzZTY0I0Jhc2U2NF90YWJsZSkgIEF0IHlvdXIgb3B0aW9uLCB5b3Ug
Y2FuIGFsc28gaW5zZXJ0IENSJ3MgaW50byBhIGJhc2U2NCBzdHJpbmcgd2hpY2ggc2hvdWxkIGJl
IGlnbm9yZWQgb24gZGVjb2RpbmcuIChhcyB3YXMgY29tbW9uIGZvciB2YXJpb3VzIGVtYWlsIGNs
aWVudHMgdG8gZG8gYmFjayBpbiB0aGUgZGF5KQo+IAo+IFBoaWwKCgo+IE9uIDIwMjAtMDgtMjEs
IGF0IDY6MjkgUE0sIFZhbmVzc2EgRnJldWRlbmJlcmcgPHZhbmVzc2FAY29kZWZyYXUubmV0PiB3
cm90ZToKPiAKPiBIaSBUaW0sCj4gCj4gb3VyIGVuY29kZXIgbWlnaHQgbm90IGJlIHByb2R1Y2lu
ZyBjcidzLCBidXQgYmFzZTY0IHBheWxvYWRzIGluIHRoZSB3aWxkIG9mdGVuIGhhdmUgbGluZXMg
bm8gbG9uZ2VyIHRoYW4gODAgY2hhcmFjdGVycywgc28gYmVmb3JlIGRlY29kaW5nIGl0IG1ha2Vz
IHNlbnNlIHRvIHJlbW92ZSB0aGF0LiAKPiAKPiBWYW5lc3NhCgpIdW5oLiBGYXNjaW5hdGluZy4g
U28gbWF5YmUgdGhlcmUgaXMgYSB0aW55IGJpdCBvZiBzZW5zZSB0byB0aGUgY29kZSBJIHdhcyBw
ZWVyaW5nIHRpcmVkbHkgYXQuIFRob3VnaCBnaXZlbiBpdCB3YXMgY3JlYXRpbmcgdGhlIGJhc2U2
NCBzdHJpbmcgcmlnaHQgdGhlcmUsIHByb2JhYmx5IG5vdCBpbiB0aGlzIGNhc2UuIEkgZG8gbG92
ZSBob3cgdGhlIHNvZnR3YXJlIHdvcmQgaXMgc28gZnVsbCBvZiBrbHVkZ2UgdXBvbiBqdXJ5LXJp
ZyB1cG9uIFdBRyEKClRoYW5rcyBmb3IgdGhlIGVubGlnaHRlbm1lbnQuIAoKdGltCi0tCnRpbSBS
b3dsZWRnZTsgdGltQHJvd2xlZGdlLm9yZzsgaHR0cDovL3d3dy5yb3dsZWRnZS5vcmcvdGltClN0
cmFuZ2UgT3BDb2RlczogVURGOiBVc2UgRGlzayBmb3IgRnJpc2JlZQoKCgo=

=-=-=-=-=

Wrapping Base64 is _extremely_ common.
Virtually half the  SSL Certificates are delivered that way… Pgp keys, signatures, SSH keys, … you name it :)

Best regards
	-Tobias


More information about the Squeak-dev mailing list