Bitcoin 地址原理(1)Base58编码
1. Base64编码
使用了26个小写字母、26个大写字母、10个数字以及两个符号(例如“+”和“/”),用于在电子邮件这样的基于文本的媒介中传输二进制数据。
- 常用于编码邮件中的附件。
Base64字母表
索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 |
---|---|---|---|---|---|---|---|
0 | A | 17 | R | 34 | i | 51 | z |
1 | B | 18 | S | 35 | j | 52 | 0 |
2 | C | 19 | T | 36 | k | 53 | 1 |
3 | D | 20 | U | 37 | l | 54 | 2 |
4 | E | 21 | V | 38 | m | 55 | 3 |
5 | F | 22 | W | 39 | n | 56 | 4 |
6 | G | 23 | X | 40 | o | 57 | 5 |
7 | H | 24 | Y | 41 | p | 58 | 6 |
8 | I | 25 | Z | 42 | q | 59 | 7 |
9 | J | 26 | a | 43 | r | 60 | 8 |
10 | K | 27 | b | 44 | s | 61 | 9 |
11 | L | 28 | c | 45 | t | 62 | + |
12 | M | 29 | d | 46 | u | 63 / | |
13 | N | 30 | e | 47 | v | ||
14 | O | 31 | f | 48 | w | ||
15 | P | 32 | g | 49 | x | ||
16 | Q | 33 | h | 50 | y |
eg.
转换前 10101101,10111010,01110110
转换后 00101011, 00011011 ,00101001 ,00110110
十进制 43 27 41 54
对应码表中的值 r b p 2
2. Base58编码
是Base64编码格式的子集,同样使用大小写字母和10个数字,,由不包括(0,O,l,I,+,/)的大小写字母和数字组成。(容易引起混淆:0(数字0)、O(大写字母o)、l(小写字母L)、I(大写字母i)。
- 字母表:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
3. Base58Check
基于Base58增加了长4个字节的错误校验码。
. checksum=SHA256(SHA256(prefix+data))
. 取checksum的前4个字节作为校验码。
.结果由三部分组成:前缀、数据和校验码。
- 校验码由编码数据的哈希值而来。
- 具有错误诊断功能。
- 基于文本的二进制编码格式,不仅实现了数据压缩,保持了易读性
Bitcoin 地址原理(1)Base58编码相关推荐
- Bitcoin 地址原理(3)公钥地址到比特币地址
1. 得到公钥 生成了私钥之后,我们使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥,生成的公钥共65字节, 其中一个字节是0x04,其中32个字节是X坐标,另外32个 ...
- Bitcoin 地址原理(2)私钥、公钥、地址基本概念
1. 总过程 2. 私钥 私钥就是一个随机选出的数字,256位. eg. 8F72F6B29E6E225A36B68DFE333C7CE5E55D83249D3D2CD6332671FA445C4DD ...
- bitcoin 地址产生过程
首先,让我们先简单的说说比特币地址是怎么算出来的.比特币是建立在数学加密学基础上的,中本聪大神用了椭圆加密算法(ECDSA)来产生比特币的私钥和公钥.由私钥是可以计算出公钥的,公钥的值经过一系列数字签 ...
- 【Java小工匠聊密码学】--base58编码
1.Base58编码概述 1.1 什么是Base58编码? Base58是比特币的一种特殊编码方式,主要用于产生比特币钱包地址.相比Base64,Base58不使用数字"0",字母 ...
- 密码学系列 - Base58编码
Base58 Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址.相比Base64,Base58不使用数字"0",字母大写" ...
- php编码函数 base58,php – Base58编码Peercoin公钥的步骤
我希望有人可以帮助我应对这一挑战.我想知道用于转换a的过程 hex-130字符将Peercoin公钥转换为Peercoin地址.如果您可以阅读C,那么在这里阅读源代码 https://github.c ...
- 嵌入式汉字显示原理及GBK编码详解
嵌入式汉字显示原理及GBK编码详解 ~~~~~~~~ 关于各个编码的介绍和转换可以看我的另一篇博客:[C语言实现]十六进制面值转字符串.字符面值转十六进制.UNICODE与GBK互转,U ...
- URL原理、URL编码、URL特殊字符
From: http://blog.csdn.net/chenlycly/article/details/51820727 From: http://blog.csdn.net/zmx729618/a ...
- php 浏览器能请求post_PHP解析微视无水印播放地址原理分析
天涯乌鸦一般黑,微视短视频平台和快手一样,通过访问分享链接h5就能获取到无水印播放地址. 页面分析 先随便撸一个微视短视频分享链接,就勉强以下面这个为例吧 https://h5.weishi.qq.c ...
最新文章
- 如何使用VSCode汉化插件(中文)
- Centos 6.8安装Python3.7
- HTML5--表单标签input新增type值
- jooq实体 和mysql_几个数据持久化框架Hibernate、JPA、Mybatis、JOOQ的比较
- ThinkPad紧凑型蓝牙键盘(0B47189)鼠标滚轮用法,F1到F12功能键的功能切换以及其他技巧
- mysql语法与decode语法的不同
- python常用单词自由且开放_python常用英语单词词汇 unit7
- java monitor 翻译_管程(Monitor)概念及Java的实现原理
- 叫板英特尔,英伟达发布首个 CPU,集齐“三芯”!
- keras实现DeepDream
- 查询SQL的null与''
- json对象与json字符串互转方法
- NeurIPS 2021 | Garment4D: 从点云序列中重建衣物
- 【Java】抽象类和接口
- 如何实现语音转文字?这三个方法简单又实用,轻松实现语音转文字
- ASP程序性能测试报告
- “VBE6EXT.OLB不能被加载”解决方法
- 叉积的证明_矢量叉乘分配律的几何证明
- adb命令查看手机电量_adb获取电池信息以及电量消耗信息
- access vba代码大全_这本VBA经典图书终于做活动了,还是5折!
热门文章
- jQuery 中jQuery/$的数据类型是什么?
- python判断字符串中包含某个字符串_Python中最常用的字符串方法!
- 计算机组成原理怎么考察的,计算机组成原理课程考察报告(论文).doc
- 上海临港新片区:新建数据中心CPUE值≤1.25 正建国际互联网数据专用通道
- 2020年数据中心行业研究报告
- MAT之PSO:利用PSO实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度
- Ubuntu16.04 配置SSH无密码登录
- 《疯狂Java讲义》10
- 行内元素和块状元素一览表
- Centos7通过yum安装最新MySQL