Module: Aws::Checksums Private

Defined in:
lib/aws-sdk-core/checksums.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

CHUNK_SIZE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

one MB

1 * 1024 * 1024

Class Method Summary collapse

Class Method Details

.md5(value) ⇒ String<MD5>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/aws-sdk-core/checksums.rb', line 28

def md5(value)
  if (File === value || Tempfile === value) && !value.path.nil? && File.exist?(value.path)
    Base64.encode64(OpenSSL::Digest::MD5.file(value).digest).strip
  elsif value.respond_to?(:read)
    md5 = OpenSSL::Digest::MD5.new
    update_in_chunks(md5, value)
    Base64.encode64(md5.digest).strip
  else
    Base64.encode64(OpenSSL::Digest::MD5.digest(value)).strip
  end
end

.sha256_hexdigest(value) ⇒ String<SHA256 Hexdigest>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/aws-sdk-core/checksums.rb', line 14

def sha256_hexdigest(value)
  if (File === value || Tempfile === value) && !value.path.nil? && File.exist?(value.path)
    OpenSSL::Digest::SHA256.file(value).hexdigest
  elsif value.respond_to?(:read)
    sha256 = OpenSSL::Digest::SHA256.new
    update_in_chunks(sha256, value)
    sha256.hexdigest
  else
    OpenSSL::Digest::SHA256.hexdigest(value)
  end
end