From b196a8392c078104a22ec0ffe9273bd3cab9a10d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 27 Jun 2016 22:45:36 +0200 Subject: CheckSum --- meta/torrent.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'meta') 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] -- cgit v1.2.3