Base58

Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。
设计Base58主要的目的是:

  1. 避免混淆。在某些字体下,数字0和字母大写O,以及字母大写I和字母小写l会非常相似。
  2. 不使用"+“和”/"的原因是非字母或数字的字符串作为帐号较难被接受。
  3. 没有标点符号,通常不会被从中间分行。
  4. 大部分的软件支持双击选择整个字符串。

比特币地址为什么要用base58编码

比特币私钥最原始的格式是256位的二进制表示,采用了base58编码的方式来“缩短”它,更短更省空间

  • 私钥生成: WIF格式 | Base58并压缩 | 字符串长度52 (不算0x)
  • 从私钥生成公钥: ECDSA-secp256k1 | 未压缩: 前缀04+x坐标+y坐标 | 压缩: 前缀03+x(如果y是奇数),前缀02+x(如果y是偶数)
  • 从公钥生成地址: Base58 | RipeMD160(SHA256(PubK))

往期精彩回顾:
区块链知识系列
密码学系列
共识系列
公链调研系列
以太坊系列
EOS系列
智能合约系列
Token系列

密码学系列 - Base58编码相关推荐

  1. 【Java小工匠聊密码学】--base58编码

    1.Base58编码概述 1.1 什么是Base58编码? Base58是比特币的一种特殊编码方式,主要用于产生比特币钱包地址.相比Base64,Base58不使用数字"0",字母 ...

  2. Bitcoin 地址原理(1)Base58编码

    1. Base64编码 使用了26个小写字母.26个大写字母.10个数字以及两个符号(例如"+"和"/"),用于在电子邮件这样的基于文本的媒介中传输二进制数据. ...

  3. 密码学系列之:SAFER

    简介 分组密码是一个非常优秀的加密结构,很多常用加的加密算法使用的都是分组算法,比如DES.SAFER表示的也是一种分组密码算法.一起来看看吧. SAFER简介 SAFER的全称是Secure And ...

  4. php编码函数 base58,php – Base58编码Peercoin公钥的步骤

    我希望有人可以帮助我应对这一挑战.我想知道用于转换a的过程 hex-130字符将Peercoin公钥转换为Peercoin地址.如果您可以阅读C,那么在这里阅读源代码 https://github.c ...

  5. WebRTC系列--视频编码控制之BALANCED(分辨率与帧率平衡模式)

    文章目录 1. 触发流程及流开始 2. 平衡模式流程详细分析 2.1 BalancedDegradationSettings的MinFps方法调用流程 2.2 source_proxy_的Restri ...

  6. 密码学系列(一):密码行业、政策介绍

    密码学系列(一):密码行业.政策介绍 管理部门 <密码法>(19年) <密码法>具体章节 第3章 商用密码 第4章 法律责任 相关零散知识 管理部门 国家密码管理局--商密办- ...

  7. 密码学系列 - 椭圆曲线签名的基本原理

    ECDSA 涉及到三个重要的概念 第一个是私钥,私钥是一个只有我自己知道的数字,我可以用私钥去生成签名,比特币使用的私钥是一个256 bit 的整数. 第二个是公钥,公钥是跟私钥配对的一个数,是根据私 ...

  8. 密码学系列 - 椭圆曲线 ECC - ED25519

    密码学 - 椭圆曲线 ECC ED25519 椭圆曲线是一系列满足如下方程的点: y^2 = x^3 + ax + b 并且 4a^3 + 27b^2 != 0 特性 封闭性:因为椭圆曲线上的点相加, ...

  9. 密码学系列 - 国密算法

    国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4,SM9.密钥长度和分组长度均为128位. 国密算法种类 SM1 为对称加密.其加密强度与AES相当.该算法不公开,调用该算法时 ...

最新文章

  1. vue更新data无效,页面data没刷新 vue.set
  2. 2021-03-04 Halcon初学者知识 【18】谈谈秩滤波(Rank filter)
  3. boost::fusion::filter用法的测试程序
  4. PHP中的mb_convert_encoding与iconv函数介绍
  5. Php jsondb,JsonDB-PHP
  6. 练习-用户模块-注册与登陆 190907
  7. python图像处理的常用操作
  8. mysql 排序速度_MySQL排序速度慢而且可能不稳定
  9. es java match_java操作elasticsearch实现条件查询(match、multiMatch、term、terms、reange)...
  10. ffmpeg将文件转码后推向服务器,FFmpeg转码服务器搭建
  11. 达梦数据库错误号6002:消息校验异常
  12. Win10怎么合并磁盘分区 合并磁盘的操作方法
  13. android root统计,《全球安卓手机 Root 数据报告》:学生党竟然是Root的骨灰级爱好者?...
  14. JS京东快递单号查询案例
  15. Be For Web
  16. dell进入u盘启动模式_戴尔主板bios设置u盘启动
  17. Python使用进程池管理进程和进程间通信
  18. 如何在不重装系统情况下换个硬盘
  19. Matplotlib双y轴+调整图例位置
  20. selenium 程序执行完之后,闪退的解决方法

热门文章

  1. axios 跨域 流 下载
  2. 【jiasuba】教你正确启用BIOS显卡 预防电脑黑屏困扰
  3. python字典排序的两种方案,并产生排名
  4. android 查询倒序_倒序昵称app下载-倒序昵称 安卓版v1.0.1-PC6安卓网
  5. 上班一个月,我的几点体会
  6. 柚子黑卡城市社交电商小程序V4.3.2原版模块打包+小程序
  7. 顶尖AI科技智能化货代航运智能化铁路货运智能化海关港区口岸,全球集装箱港航人工智能领军企业中集飞瞳,成熟港航AI产品全球规模应用
  8. ajax怎么输出,AJAX怎么传递输出参数?
  9. Macbook外接显示器 HDMI 不显示
  10. FanX-0.4 发布