摘要:是由中本聰為設(shè)計的。在編碼后的字符串中,每一個字符都是從個字符中當(dāng)中選擇出來的。換句話說,每一個字母代表的信息量是。我們輸入的字節(jié)流信息量是固定的那么,需要預(yù)留的字符數(shù)量就是經(jīng)過換算,最后,還需要加向上取整最終結(jié)果就是
base58 是由中本聰為bitcoin設(shè)計的。
相比與base64的字符,他將一些直觀看來模糊的字符去除了。
字符共58個
1-9 共9個
大寫字母A-Z(不包括O、I),共24個
小寫字母a-z (不包括l),共25個
在一些base58的實現(xiàn)代碼中,我們往往需要為生成的編碼后的字符串預(yù)留空間,這是如何計算的呢?
例如一段源碼及注釋:
std::vectorb58((pend - pbegin) * 138 / 100 + 1); // log(256) / log(58), rounded up
這個公式看起來有點讓人摸不著頭腦,但經(jīng)過一些思考,我想明白了。
在編碼后的字符串中,每一個字符都是從58個字符中當(dāng)中選擇出來的。那么這58種不同的信息可以用多少bit來代替呢?顯然答案是log(2)58。換句話說,每一個字母代表的信息量是log(2)58 bit。
我們輸入的字節(jié)流信息量是固定的:(byte_length * 8)bit
那么,需要預(yù)留的字符數(shù)量就是(byte_length * 8)/ log258
經(jīng)過換算,
(byte_length * 8)/ log258 =
(byte_length * log2256) / log258 =
byte_length * 1.38
最后,還需要加向上取整
最終結(jié)果就是 byte_length * 1.37 + 1
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/24122.html
摘要:區(qū)塊鏈技術(shù)基礎(chǔ)什么是區(qū)塊鏈技術(shù)運行區(qū)塊鏈客戶端的計算節(jié)點彼此可以相互通信。區(qū)塊鏈的組成模塊區(qū)塊鏈賬本。區(qū)塊鏈技術(shù)的意義數(shù)據(jù)不可篡改。區(qū)塊鏈中會對區(qū)塊頭進行哈希計算,得出該區(qū)塊的哈希值。這保證了每個區(qū)塊被加入鏈后不可被修改。 區(qū)塊鏈技術(shù)基礎(chǔ) 什么是區(qū)塊鏈技術(shù)? 運行區(qū)塊鏈客戶端的計算節(jié)點彼此可以相互通信。 每個節(jié)點維護一個賬本。 每個節(jié)點的收支記錄都會廣播給其他節(jié)點。 篩選出一個節(jié)點作...
摘要:公鑰上面生成的密鑰的公共部分被編碼為比特幣地址。使用對地址進行編碼我們現(xiàn)在使用庫中的方法來獲得最終的比特幣地址。這是比特幣應(yīng)在交易中發(fā)送到的地址。這是一個如何在中生成比特幣地址的演示文稿。 讓我們通過學(xué)習(xí)比特幣(Bitcoin)如何實施該技術(shù)的各個方面來工作,好嗎?該技術(shù)包括以下幾個方面: 比特幣地址bitcoin address是用來發(fā)送和接收比特幣的。 交易transaction...
摘要:公鑰上面生成的密鑰的公共部分被編碼為比特幣地址。使用對地址進行編碼我們現(xiàn)在使用庫中的方法來獲得最終的比特幣地址。這是比特幣應(yīng)在交易中發(fā)送到的地址。這是一個如何在中生成比特幣地址的演示文稿。 讓我們通過學(xué)習(xí)比特幣(Bitcoin)如何實施該技術(shù)的各個方面來工作,好嗎?該技術(shù)包括以下幾個方面: 比特幣地址bitcoin address是用來發(fā)送和接收比特幣的。 交易transaction...
摘要:編碼三個重要概念三個字節(jié)由四個字節(jié)表示的過程碼表補位如何用三個字節(jié)表示四個字節(jié)一個字節(jié)由位二進制組成,三個字節(jié)總共位,所以轉(zhuǎn)換后有效的二進制位數(shù)為位。 Base64編碼 1、三個重要概念 三個字節(jié)由四個字節(jié)表示的過程 Base64碼表 補位 2、如何用三個字節(jié)表示四個字節(jié) 一個字節(jié)由8位二進制組成,三個字節(jié)總共24位,24 ÷ 4 = 6 , 所以轉(zhuǎn)換后有效的二進制位數(shù)為6位。計算...
摘要:本質(zhì)上,比特幣錢包就是一對這樣的密鑰。例如,一個錯誤比特幣地址就不會被錢包認(rèn)為是有效的地址,否則這種錯誤會造成資金的丟失。 showImg(https://segmentfault.com/img/remote/1460000013982997?w=1920&h=1053); 最終內(nèi)容請以原文為準(zhǔn):https://wangwei.one/posts/f90... 引言 在 上一篇 文...
閱讀 2068·2021-09-22 15:29
閱讀 3416·2019-08-30 15:44
閱讀 3628·2019-08-30 15:43
閱讀 1823·2019-08-30 13:48
閱讀 1564·2019-08-29 13:56
閱讀 2558·2019-08-29 12:12
閱讀 1033·2019-08-26 11:35
閱讀 1117·2019-08-26 10:25