diff --git a/src/hashtree.py b/src/hashtree.py --- a/src/hashtree.py +++ b/src/hashtree.py @@ -28,7 +28,7 @@ class HashTree: progress=Progress(leafCount) for i in range(leafCount): data=f.read(HashTree.BLOCK_SIZE) - res.insertLeaf(hashlib.sha256(data).digest()[HashTree.HASH_LEN:]) + res.insertLeaf(hashlib.sha256(data).digest()[-HashTree.HASH_LEN:]) progress.p(i) progress.done() @@ -70,7 +70,7 @@ class HashTree: ## Updates the node at index and all its ancestors. def updateNode(self,index): while index>=0: - self.store[index]=hashlib.sha256(self.store[index*2+1]+self.store[index*2+2]).digest()[HashTree.HASH_LEN:] + self.store[index]=hashlib.sha256(self.store[index*2+1]+self.store[index*2+2]).digest()[-HashTree.HASH_LEN:] index=(index-1)//2 ## Fast construction of the tree over the leaves. O(n). @@ -78,7 +78,7 @@ class HashTree: print(datetime.now(), "building tree:") progress=Progress(-1, self.leafStart-1) for i in range(self.leafStart-1,-1,-1): - self.store[i]=hashlib.sha256(self.store[i*2+1]+self.store[i*2+2]).digest()[HashTree.HASH_LEN:] + self.store[i]=hashlib.sha256(self.store[i*2+1]+self.store[i*2+2]).digest()[-HashTree.HASH_LEN:] progress.p(i) progress.done()