第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么每次重新運(yùn)行代碼,得到的hash值都是一樣的?

貌似計(jì)算hash的函數(shù)沒(méi)寫(xiě)完整

正在回答

4 回答

//注意int轉(zhuǎn)string不能這樣:string(b.Index)?+?string(b.TimeStamp)
blockData?:=?strconv.Itoa(int(b.Index))+strconv.Itoa(int(b.TimeStamp))+b.PreBlockHash
fmt.Println(blockData)

這是因?yàn)槔蠋煹膇nt轉(zhuǎn)string語(yǔ)句寫(xiě)錯(cuò)了,

string(b.Index)?+?string(b.TimeStamp)

上面這條語(yǔ)句每次輸出都是同一個(gè)亂碼符號(hào),因此Index和TimeStamp在計(jì)算哈希值的時(shí)候根本沒(méi)有起到作用,而創(chuàng)世區(qū)塊其他的值都是固定的,所以每次算出來(lái)的哈希值都是一樣的。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weixin_慕容7184231

創(chuàng)始區(qū)塊的時(shí)間戳也是會(huì)變化的,所以hash值應(yīng)該也不同吧
2023-07-10 回復(fù) 有任何疑惑可以回復(fù)我~
func?CalculateHash(b?Block)?string?{
???blockData?:=?string(b.Index)?+?string(b.Timestamp)?+?b.PreBlockHash?+?b.Data
???hashInBytes?:=?sha256.Sum256([]byte(blockData))
???return?hex.EncodeToString(hashInBytes[:])
}

每次的時(shí)間Timestamp都不一樣呀,為什么生成的第0個(gè)blockhash都一樣的~

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕村1538275

第一次初始化,index為-1的時(shí)候是沒(méi)有timestamp的,導(dǎo)致只有3個(gè)參數(shù),index,prehash,data,這三個(gè)是固定死的,所以每次第0個(gè)都是一樣的~
2019-07-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

weixin_慕容7184231 回復(fù) 慕村1538275

但是index為0的創(chuàng)始區(qū)塊不是有timestamp的嘛?即time.Now().Unix()
2023-07-10 回復(fù) 有任何疑惑可以回復(fù)我~

傳入的數(shù)據(jù)是一致的,那么hash出來(lái)的結(jié)果就不會(huì)變。

0 回復(fù) 有任何疑惑可以回復(fù)我~

這就是hash運(yùn)算的確定性 看下2-4節(jié)就明白了

同一個(gè)數(shù)據(jù)hash后的結(jié)果是確定的

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么每次重新運(yùn)行代碼,得到的hash值都是一樣的?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)