Calculate and store a sha256 checksum for a resource.
The chunk size to read
Synchronous processor API – generate a checksum during upload.
# File lib/thingfish/processor/sha256.rb, line 24
def on_request( request )
request.add_metadata( :checksum => self.checksum(request.body) )
request.related_resources.each_pair do |io, metadata|
metadata[ :checksum ] = self.checksum( io )
end
end
Given an io
, return a sha256 checksum of it's contents.
# File lib/thingfish/processor/sha256.rb, line 37
def checksum( io )
digest = Digest::SHA256.new
buf = ''
while io.read( CHUNK_SIZE, buf )
digest.update( buf )
end
io.rewind
return digest.hexdigest
end