# File lib/aws/glacier/archive_collection.rb, line 102 def compute_checksums data digest = OpenSSL::Digest.new('sha256') tree_digest = OpenSSL::Digest.new('sha256') tree_parts = [] until data.eof? chunk = data.read(1024 * 1024) # read 1MB tree_parts << tree_digest.update(chunk).digest tree_digest.reset digest.update(chunk) end data.rewind [digest.to_s, compute_tree_hash(tree_parts)] end