文档章节

Base58编码简介

LinkerLin
 LinkerLin
发布于 2013/06/27 23:10
字数 265
阅读 3318
收藏 18

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

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

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

ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

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

10+26×2-4=58

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

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

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

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

 

 

 

© 著作权归作者所有

共有 人打赏支持
LinkerLin

LinkerLin

粉丝 71
博文 63
码字总数 14161
作品 1
长宁
程序员
私信 提问
加载中

评论(4)

顺时针炒股软件
Base94编码,压缩效果更高,也很好毒。
gotham
gotham
这个挺好,base64在网页传的时候,有时候是有多余的字符。
南湖船老大
南湖船老大
思路不错,不知楼主知道“奥巴码”不?类似base64的一种编码方式
kiwivip
kiwivip
简介...
『学概念找员外』Base58编码与Base58Check编码

员外之前听过的编码格式要么是 Base32编码,要么是 Base64编码,今天发现还有个 Base58编码,着实让员外吃了一大惊,所以拉出来写写。还有就是员外写了这么多文章,从来没有飚过代码,这篇文...

刘员外__
2018/07/30
0
0
区块链 100 讲:16 进制数据的编码 / 解码算法

众所周知,计算机存储和处理的都是二进制数据。为了简洁,实际上使用最多的是二进制的一个变种--16进制。比如笔者的名字叫嘉文,中文拼音是jiawen(全小写),在计算机里存储的就是 6A696177...

yanyan
2018/07/10
0
0
007-050-越写越快乐之浅谈Base58Check的使用

今天的越学越快乐系列文章给大家分享一下Base58Check的使用,也就是比特币地址的生成过程中使用的校验函数。 Base58是什么 我们都知道要想生成一个比特币地址,需要有以下几步: 私钥k生成公...

韬声依旧在路上
2018/09/07
0
0
区块链之公钥、私钥、地址之间的关系

一句话解释公钥、私钥、地址 私钥:实际上是一组随机数,关于区块链中的随机数我们已经介绍过了 公钥:对私钥进行椭圆曲线加密算法生成,但是无法通过公钥倒推得到私钥。公钥的作用是在和对方...

JouyPub
2018/09/12
0
0
揭秘比特币和区块链(三):比特币的私钥、公钥与地址

地址、交易、区块、网络是区块链数据里面最基本最重要的概念。地址用来标示一笔交易的支出方和接收方。所有的交易最终需要被记到统一的账本——区块链上,而这个账本是通过区块确认并完成的。...

雪花又一年
2018/04/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
57分钟前
8
0
OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
今天
222
7
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
3
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部