Class: Digest::SHA2 (Ruby 2.3.2)
Description: Class : Digest::SHA2 - Ruby 2.3.2

- Home
- Core 2.3.2
- Std-lib 2.3.2
- Downloads

Support for the Ruby 2.3 series has ended. See here for reference.

### Home Classes Methods

### In Files

- digest/sha2/lib/sha2.rb

### Parent

Digest::Class

### Methods

- ::new
- #<<
- #block_length
- #digest_length
- #reset
- #update

### Class/Module Index

Quicksearch

- Digest
- Digest::Base
- Digest::Class
- Digest::Instance
- Digest::MD5
- Digest::RMD160
- Digest::SHA1
- Digest::SHA2
- Object

No matching classes.

# Digest::SHA2

A meta digest provider class for SHA256, SHA384 and SHA512.

### Public Class Methods

Digest::SHA2.new(bitlen = 256) → digest_obj click to toggle source

Creates a new SHA2 hash object with a given bit length.

Valid bit lengths are 256, 384 and 512.

                   # File digest/sha2/lib/sha2.rb, line 26
    def initialize(bitlen = 256)
      case bitlen
      when 256
        @sha2 = Digest::SHA256.new
      when 384
        @sha2 = Digest::SHA384.new
      when 512
        @sha2 = Digest::SHA512.new
      else
        raise ArgumentError, "unsupported bit length: %s" % bitlen.inspect
      end
      @bitlen = bitlen
    end

### Public Instance Methods

<<(str) click to toggle source
Alias for: update
block_length → Integer click to toggle source

Returns the block length of the digest in bytes.

    Digest::SHA256.new.block_length * 8
    # => 512
    Digest::SHA384.new.block_length * 8
    # => 1024
    Digest::SHA512.new.block_length * 8
    # => 1024

                   # File digest/sha2/lib/sha2.rb, line 77
    def block_length
      @sha2.block_length
    end

digest_length → Integer click to toggle source

Returns the length of the hash value of the digest in bytes.

    Digest::SHA256.new.digest_length * 8
    # => 256
    Digest::SHA384.new.digest_length * 8
    # => 384
    Digest::SHA512.new.digest_length * 8
    # => 512

For example, digests produced by Digest::SHA256 will always be 32 bytes (256 bits) in size.

                   # File digest/sha2/lib/sha2.rb, line 95
    def digest_length
      @sha2.digest_length
    end

reset → digest_obj click to toggle source

Resets the digest to the initial state and returns self.

                   # File digest/sha2/lib/sha2.rb, line 44
    def reset
      @sha2.reset
      self
    end

update(string) → digest_obj click to toggle source
digest_obj << string → digest_obj

Updates the digest using a given string and returns self.

                   # File digest/sha2/lib/sha2.rb, line 54
    def update(str)
      @sha2.update(str)
      self
    end

Also aliased as: <<