SHA-256 Merkle tree: Difference between revisions

Content added Content deleted
No edit summary
Line 106: Line 106:
len = length(bytes)
len = length(bytes)
hsh = [sha256(bytes[i:min(i+blocksize-1, len)]) for i in 1:1024:len]
hsh = [sha256(bytes[i:min(i+blocksize-1, len)]) for i in 1:1024:len]
while true
len = length(hsh)
len = length(hsh)
while len > 1
hsh = [i == len ? hsh[i] : sha256(vcat(hsh[i], hsh[i + 1])) for i in 1:2:len]
hsh = [i == len ? hsh[i] : sha256(vcat(hsh[i], hsh[i + 1])) for i in 1:2:len]
length(hsh) == 1 && break
len = length(hsh)
end
end
return bytes2hex(hsh[1])
return bytes2hex(hsh[1])