首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏专注于主流技术和业务

    Base58编码原理

    Base58的由来 Base58 是在 比特币中使用的一种独特的编码方式,主要用于产生比特币的钱包地址; 相比 Base64编码,Base58不使用数字 "0",字母大写"O",字母大写 "I",和字母小写 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz 去掉:0 O l 58=9个阿拉伯数字(去掉0)+24个大写字母(去掉I和O)+25小写字母(去掉l) Base58

    2.1K50发布于 2019-05-19
  • 来自专栏高性能分布式系统设计

    Base58编码简介

    本文要讨论的是Base58, 故其 基 是58个字母和数字组成,如下: ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz 虽然基于概率模型的系统很容易识别出Base58,但是考虑到,基于概率模型的系统的巨大的计算和存储开销。监视TCP报文中Base58编码的数据流在目前是很难实现的。

    1.3K50发布于 2018-04-13
  • 来自专栏涛的程序人生

    C语言实现base58算法

    Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。 相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。 Base58 与 Base64 异同 相同 一般都用于URL,邮件文本,可见字符显示。 都会造成信息冗余,数据量增大,因此不会用于大数据传输编码。 区别 编码集不同,Base58 的编码集在 Base64 的字符集的基础上去掉了比较容易混淆的字符。 Base64 采用直接切割 bit 的方法(8->6),而 Base58 采用大数进制转换,效率更低,使用场景更少。

    1.3K50编辑于 2022-05-07
  • 来自专栏小工匠技术圈

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

    1、Base58编码概述 1.1 什么是Base58编码? Base58是比特币的一种特殊编码方式,主要用于产生比特币钱包地址。 相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。 1.2 Base58的设计目的? 1.3 Base58编码表 ? Base58编码 1.4 Base58编码原理 Base58编码实际上是58进制,和2进制、8进制、16进制是一样的道理,只是用58作为进制的单位了,正好和58个不容易混淆的字符对应。 2、Base58编码实现 2.1 比特币Base58 比特币中的Base58编码,不是纯正的Base58,包含一部分比特币地址规范,例如前导0的处理。

    1.7K40发布于 2018-07-03
  • 来自专栏Albert陈凯

    2018-12-19 base58 与 base64 的区别

    base58和base64一样是一种二进制转可视字符串的算法,主要用来转换大整数值。 不同的应用实现中,base58 最后查询的字母表可能不同,所以没有具体的标准。下面是几个应用中的字母表 ---- 最近在代码审计一个区块链的源代码的时候发现的。 审查发现用的是base58的编码。 没看清楚,直接用base64去解,后来才发现不是base64,大写的一个囧 后来查了查资料 Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。 相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。 设计Base58主要的目的是: 避免混淆。 但是这个base58的计算量比base64的计算量多了很多。因为58不是2的整数倍,需要不断用除法去计算。 而且长度也比base64稍微多了一点。

    1.5K20发布于 2018-12-27
  • 来自专栏编舟记

    Base-x 编码的奥秘

    目录 Base 编码的历史 为什么需要 Base58 Base58 的特点 Base58 的扩展 Base58Check 摘要 Base Encoding 是一组二进制转文本的编码模式(Encoding Scheme),常见的有 Base64、Base58、Base32、Base16。 故结果为 Cg== 为什么需要 Base58? 首先,Base58 和 Base64 一样都是一组二进制转文本(binary-to-text)的编码模式。 Base58 的主要职责是将大整数表现成文本,它是由中本聪在 Bitcoin 中首先引入进来的。为什么要这样使用呢? Base58 的特点 维基百科上说,Base58 不太适合编码二进制数据,而适合编码大整数?在探讨 Base58 的实现原理之前,我们先看看比较常见的几种 Base 编码。

    1.4K40发布于 2020-07-10
  • 来自专栏Coding迪斯尼

    编出个区块链:数据结构的序列化

    因此比特币后来采用base58来将二进制数据再次进行编码,之所以不用base64是因为后者有限字符容易令人混淆,例如数字0和字母O,小写的l和大写的I,于是使用base58能避免这些问题,我们看看base58 num, 58) result = BASE58_ALPHABET[mod] + result return prefix + result 我们试试上面代码: ''' 测试base58 在以太坊或比特币应用上,数字货币在转账时需要有对应的接收地址,而这个地址的编码就使用到了base58,我们看看具体流程: 1,如果地址来自主网,那么以0x00开头,如果来自测试网络则以0x6f开头。 3,把第一和第二步所得结果前后连接起来 4,将第3步结果进行sha256哈希,取开头4个字节 5,将第3和第4步所得结果结合起来,进行base58编码 第5步所得结果也叫校验和,假设我们已经有了第3步的结果 如果公钥使用压缩SEC格式,那么在末尾添加0x01 4,将1,2,3三个步骤所得结果结合起来 5,将第四步进行sha256(也就是连续两轮256哈希)运算,取结果的前4个字节 6,将步骤4和5结合,使用base58

    70940编辑于 2022-03-28
  • 来自专栏石头岛

    tron 编码 二进制、base58check、Hex

    Base58Check就是Base58加上校验码,或者可以说是Base58的一种编码形式,在比特币系统中生成钱包地址的时候就使用到了这种编码形式,TRON中的地址也是使用到了这种编码。 使用场景: 钱包地址 转账 配置文件 为什么使用base58编码? 因为是给人类看的。 什么是base58check? 就是在 base64的基础上去掉了6个容易混淆的字母、字符,只剩58个了,所以叫:base58。 简而言之,Base58就是由不包括(0,O,l,I,+,/)的大小写字母和数字组成。 check是指什么意思? 为了增加防止打印和转录错误的安全性,比特币常用的是Base58Check,它是一种内置错误校验代码的Base58编码格式。检验和是额外4个字节,被添加到正在编码的数据末端。

    1.4K10编辑于 2023-10-23
  • 来自专栏偷得浮生半日闲

    推荐个纯html的online-tools

    encode_file.html', 'Base32 to File': 'base32_decode_file.html', }, 'Base58 ': { 'Encode': 'base58/encode/', 'Decode': 'base58/decode/', 'File to Base58': 'base58/encode/file/', 'Base58 to File': 'base58/decode/file/',

    35810编辑于 2024-09-28
  • 来自专栏网络安全【故里】

    常见密码类型

    md5 特征 一般为32位 由数字和小写字母组成 base64 特征 base64 的空格被加密成=,但是也有密文加密没有=的,多观察吧 base16 特征 由数字和大写字母组成 base58 特征 Base58 相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。

    1.4K20编辑于 2023-04-16
  • 来自专栏杂文共赏

    Node.Js生成比特币地址

    public key console.log("压缩地址:" + cs.encode(pubkeyHash, 0x0)) //<-- 0x0 is for public addresses //这里还缺失校验和Base58 4个字节(8位十六进制) 4b4f9bc8 9.把这4个字节加到第五步生成的压缩地址后边 0005f9d05358aab2a28f19910036e67a7295b14aac4b4f9bc8 10.用Base58 编码 Base58由1-9和除i,l,0,o之外的英文字符组成。 对上一步的结果进行Base58编码,得到: 1YbeKoyePe8gxyAYh4E3Qyqb15Nnepmod 这就是我们经常看到的传统意义上的比特币钱包地址了。

    7K150发布于 2018-04-19
  • 来自专栏Rust语言学习交流

    推荐一个rust写的命令行工具

    开发中经常会遇到一些小需求,比如时间戳和日期的互相转化, URL encode/decode,Base58 encode/decode,2/8/16进制转换, 数字的encode/decode,特殊的比如 进制转换 $ dtool ns 256 256 0b100000000 0o400 0x100 时间戳转日期 $ dtool ts2d 10000 1970-01-01 10:46:40 hex转base58

    1.5K10发布于 2019-12-17
  • 来自专栏申龙斌的程序人生

    用NBitcoin进行区块链开发(2)

    比特币地址 公钥哈希前面加上版本号,后面加上校验码,再经过Base58编码,就是比特币地址。 ? 直接看代码: ? 刚才的加上了版本号的公钥哈希经过两次SHA256之后,取前4个字节作为校验码,就得到了: 006168f1c0384241c4f6185171df8e800def5e63f10749c64b 再经过Base58

    1.1K50发布于 2018-12-24
  • 来自专栏afjhahfhahajk

    CTF BugKu平台—(MISC篇①)

    小细节) 给的提示是那一年出生上面有1992年 然后打开了那个zip加密文件 提示很明显了 得到了这一串字符 应该是解密 猜测可能是md5 编码和base(贝斯)58编码 前面一串肯定是md5 后面得是base58 Base85 :https://ctf.bugku.com/tool/base58 MD5:https://www.cmd5.com/ 最后拼起来就是flag。 得到一串: {LjFWBuxFNTzEWv6t2NfxjNFSH1sQEwBt5wTTLD1fJ} 也不知道是什么编码 感觉像base64 试了 但是不对 那就换一个base家族别的 多试了几个 发现是base58 base58:https://ctf.bugku.com/tool/base58 bugku{th1s_1s_chu_Sh1_B1A0!!

    1.1K40编辑于 2021-12-13
  • 来自专栏渗透靶机

    Vulnhub靶机:Empire_LupinOne

    这个加密是base58。Base16 Base32 Base58 Base62 Base64 Base85 Base91 编码/解码 - 锤子在线工具走个密钥爆破。

    28300编辑于 2025-05-10
  • 来自专栏Khan安全团队

    DNS C2

    更好的是Base58,它像 Base64 一样区分大小写,但只使用 a 中允许的字符QNAME,消息大小略高于 x1.33,但如果遇到粗鲁的解析器,我们不能总是依赖能够使用 Base58。 Sliver 对这个问题的解决方案是首先尝试检测是否可以使用 Base58 来可靠地编码数据,如果检测到问题则回退到 Base32。我将此过程称为“指纹”解析器。 如果发生任何不匹配,则使用 Base32 而不是 Base58。 每个查询的字节数 由于用于发送数据的编码器是在运行时选择的,如上所述,可以编码到查询中的字节数取决于父域的长度和选择的编码器。 s),计算方式为: 254 - len(parent) - (1 + (254-len(parent))/64) 这个“子数据空间”是我们的编码器(Base32 或 Base58)每条消息可以输出的最大字符数 重要的是要注意,由于编码器效率低下,将单字节输入添加到 Base32 或 Base58 可能会导致 +2 输出字符。

    1.4K00编辑于 2022-01-16
  • 来自专栏码上积木

    加密,编码三问

    面试加分项:为了减少混淆,方便复制,减少数据长度,就衍生出一种base58编码。 去掉了base64中一些容易混淆的数字和字母(数字0,字母O,字母I,数字1,符号+,符号/) 大名鼎鼎的比特币就是用的改进后的base58编码,即Base58Check编码方式,有了校验机制,加入了hash

    53410发布于 2020-09-27
  • 来自专栏FreeBuf

    BaseCrack:一款功能强大的Base编码解码工具

    BaseCrack能够支持目前社区使用最为频繁的Base编码机制,其中包括Base16、Base32、Base36、Base58、Base62、Base64、Base64Url、Base85、Base91 支持的编码方案 Base16 Base32 Base36 Base58 Base62 Base64 Base64Url Base85 Base91 Base92 主要功能 能够对任意模式的多重Base编码数据进行解码

    2.4K20编辑于 2023-04-26
  • 来自专栏爱国小白帽的原创专栏

    30余种加密编码类型的密文特征分析(建议收藏)

    2、Base58——示例6tmHCZvhgfNjQu 它最大的特点是没有等号 Base58是用于比特币(Bitcoin)中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。 相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。 比特币的Base58字母表: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz 简单的说:Base58一种编码方式,跟十进制,十六进制一样 Base58的原理是什么? 二进制:0和1 十进制:1到10 十六进制:十进制的基础上加上了A-F 六个字母 Base58可以理解为一种58进制。 Base58包含了阿拉伯数字、小写英文字母,大写英文字母。

    22K84发布于 2020-11-19
  • 来自专栏全栈程序员必看

    数据编码格式_excel编码格式

    base58编码,先转换为字节数组,再进行编码,可以表示log258个比特(约5.858),编码后长度为原来的1.37倍。

    2.4K30编辑于 2022-09-20
领券