aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-06-27 22:45:36 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-06-27 22:45:36 +0200
commitb196a8392c078104a22ec0ffe9273bd3cab9a10d (patch)
tree387b1fd8eb9cb675a513b29d95f4ea465fb7995a
parent4bed2bc49e310371431ca5f4b55729a6a246a36e (diff)
CheckSum
-rw-r--r--meta/torrent.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/meta/torrent.go b/meta/torrent.go
index f5e64b9..edf0682 100644
--- a/meta/torrent.go
+++ b/meta/torrent.go
@@ -1,6 +1,8 @@
package meta
import (
+ "bytes"
+ "crypto/sha1"
"errors"
"fmt"
"os"
@@ -30,6 +32,12 @@ func (i Info) NPieces() int {
return len(i.Pieces) / 20
}
+func (i Info) Check(b []byte, n int) bool {
+ sum := sha1.Sum(b)
+ off := n * 20
+ return bytes.Equal(i.Pieces[off:off+20], sum[:])
+}
+
func (i Info) CheckSum(n int) []byte {
off := n * 20
return i.Pieces[off : off+20]