Base58编码简介

Base64是很多人熟知的一种编码。

在URL传输领域,还有类似的Base32编码。这个编码去掉了一些特殊字符,只留下了大写字母和数字。

本文要讨论的是Base58, 故其 基 是58个字母和数字组成,如下:

ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

注意,少了数字0,大写字母I,大写字母O,小写字母l,一共是:

10+26×2-4=58

这个编码到底比前面两种好在那里呢?

首先,是好阅读,没有容易混淆的字母和数字。

第二,这个编码是一个混淆编码,看上去像Base64,但是其实不是。编码效率又高于Base32。

因此很适合用于抗自动监视的传输系统的底层编码机制。虽然基于概率模型的系统很容易识别出Base58,但是考虑到,基于概率模型的系统的巨大的计算和存储开销。监视TCP报文中Base58编码的数据流在目前是很难实现的。




你可能感兴趣的:(Base58编码简介)