文档章节

Base58编码简介

LinkerLin
 LinkerLin
发布于 2013/06/27 23:10
字数 265
阅读 3216
收藏 18
点赞 0
评论 4

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

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

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

ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

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

10+26×2-4=58

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

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

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

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

 

 

 

© 著作权归作者所有

共有 人打赏支持
LinkerLin

LinkerLin

粉丝 70
博文 60
码字总数 13570
作品 1
长宁
程序员
加载中

评论(4)

顺时针炒股软件
Base94编码,压缩效果更高,也很好毒。
gotham
gotham
这个挺好,base64在网页传的时候,有时候是有多余的字符。
南湖船老大
南湖船老大
思路不错,不知楼主知道“奥巴码”不?类似base64的一种编码方式
kiwivip
kiwivip
简介...
区块链 100 讲:16 进制数据的编码 / 解码算法

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

yanyan
07/10
0
0
揭秘比特币和区块链(三):比特币的私钥、公钥与地址

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

雪花又一年
04/19
0
0
PwdGen - 用Go语言实现的密码生成工具

针对CSDN等各大网站私自保存密码的问题,用 Go 语言 写了个密码生成工具 pwdgen (支持生成KeePass格式). 下面是生成算法和实现的代码: // base58(sha512(md5hex(encryptkey+encryptsalt)+sit...

chai2010
2013/03/27
0
0
一文读懂比特币私钥、公钥、钱包地址的来历和关系

作者:景辰 链接:https://www.zhihu.com/question/22399196/answer/201836128 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 对比特币熟悉的朋友一定都...

wmzsonic
01/24
0
0
Python3 urllib.parse 常用函数示例

1、获取url参数。 2、parseqs/parseqsl 3、urlencode 4、quote/quoteplus 5、unquote/unquoteplus   如果你还想问为什么没有urldecode——再把示例1看五遍。^_^ 相关阅读: 1、urllib.pars...

科技探索者
2017/11/08
0
0
基于Java语言构建区块链(五)—— 地址(钱包)

最终内容请以原文为准:https://wangwei.one/posts/f9088e0f.html 引言 在 上一篇文章当中,我们开始了交易机制的实现。你已经了解到交易的一些非个人特征:没有用户账户,您的个人数据(例如...

王维_hz
04/17
0
0
Go实现区块链(五)---地址

1.前言 上一章我们实现了交易,到目前为止,我们已经使用任意用户定义的字符串作为地址,比特币的账户地址其实就是用户公钥经过一系列 Hash ( HASH 160,或先进行 SHA256, 然后进行 RIPEMD16...

even_366
03/22
0
0
随机密码生成工具--pwdgen

PwdGen为一个随机密码生成工具, 生成密码由大小写字母和数字组成. 支持KeePass 1.x格式. 常见用法: $ pwdgen id0$ pwdgen id0 id1 id2 $ pwdgen --encrypt-key=111 id0$ pwdgen --encrypt-k...

chai2010
2013/03/28
880
0
Phalcon 2.0.8 发布,高性能 PHP 框架

Phalcon 2.0.8 发布,此版本更新内容如下: Added - to generate a random base58 string Added to check whether the logger is currently in transactionmode or not (Phalcon 1.3 behavio......

oschina
2015/09/26
1K
7
用 Go 构建一个区块链 -- Part 5: 地址

翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub 上的教程仓库,进入 src 目录...

liuchengxu
2017/10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

TensorFlow 线性回归 拟合

用tf 对 一次函数进行拟合 效果 loss 简单实现如下 import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# 保存显示数据plotdata = {"batchsize": [], "los...

阿豪boy
12分钟前
0
0
JupyterLab安装地图插件

JupyterLab安装地图插件 (本文所述软件还在发展之中,欢迎加入开源项目,提供建议、测试和开发。) 在Jupyter中进行数据分析时,往往需要将数据叠加到地图上。简单的可以利用matplotlib/ec...

openthings
21分钟前
0
0
Coding and Paper Letter(八)

资源整理 1 Coding: 1.Python项目,由Allen Downey撰写的Think Python第二版的LaTeX源代码和支持代码。 ThinkPython2 2.R语言包h3jsr,h3jsr使用V8的神奇力量通过其javascript绑定提供对Ube...

胖胖雕
30分钟前
0
0
skiplist跳跃表

插入删除log(N) TODO

梦想游戏人
30分钟前
1
0
利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

p柯西
44分钟前
0
0
Xshell登录阿里云服务器ECS

Xshell登录阿里云服务器ECS 1. 参考资料: 1). 《阿里云服务器怎么用?阿里云服务器使用教程》 链接:http://www.cr173.com/html/50758_1.html 2). eagle-zhang的CSDN博客《Xshell连接不上阿...

SuShine
54分钟前
1
0
IDEA中的HTTP Client Editor测试API

在前后端分离项目,前后端通过api进行通信。如果用postman免费版进行api测试的话,由于无法保存测试脚本到文件,不方便前端查看。 你可以选择付费版。也可以利用IDEA自带的HTTP Client Edito...

hutaishi
56分钟前
0
0
解决“只能通过Chrome网上应用商店安装该程序”的方法

摘要 : 最近有些用户反映某个Chrome插件在安装的时候,提示“只能通过Chrome网上应用商店安装该程序”,为了解决这一问题,Chrome插件网带来了相关的解决方法。 某些用户在Chrome插件网下载了...

沧海一刀
57分钟前
0
0
通过UNIX域套接字传递文件描述符

  传送文件描述符是高并发网络服务编程的一种常见实现方式。Nebula 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。 1. TCP服务...

Bwar
今天
0
0
python操作Excle

# -*- coding: utf-8 -*-from openpyxl import load_workbook, Workbook#index:第几个sheet页,第一个sheet页的index为0def readExcle(filename,index): # 加载excle文件 wb = l......

淺陌离殇
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部