Skip to content

module Digest::ClassMethods

The Digest::ClassMethods module is used in the concrete subclass of Digest that does not require arguments in its construction.

The modules adds convenient class methods as Digest::MD5.digest, Digest::MD5.hexdigest.

Methods

#base64digest(data) : String

Returns the base64-encoded hash of data.

require "digest/sha1"

Digest::SHA1.base64digest("foo") # => "C+7Hteo/D9vJXQ3UfzxbwnXaijM="
View source

#base64digest(& : self -> _) : String

Yields a context object with an #update(data : String | Bytes) method available. Returns the resulting digest in base64 representation afterwards.

require "digest/sha1"

Digest::SHA1.base64digest do |ctx|
  ctx.update "f"
  ctx.update "oo"
end
# => "C+7Hteo/D9vJXQ3UfzxbwnXaijM="
View source

#digest(data)

Returns the hash of data. data must respond to #to_slice.

View source

#digest(& : self -> ) : Bytes

Yields an instance of self which can receive calls to #update(data : String | Bytes) and returns the finalized digest afterwards.

require "digest/md5"

digest = Digest::MD5.digest do |ctx|
  ctx.update "f"
  ctx.update "oo"
end
digest.to_slice.hexstring # => "acbd18db4cc2f85cedef654fccc4a4d8"
View source

#hexdigest(data) : String

Returns the hexadecimal representation of the hash of data.

require "digest/md5"

Digest::MD5.hexdigest("foo") # => "acbd18db4cc2f85cedef654fccc4a4d8"
View source

#hexdigest(& : self -> ) : String

Yields a context object with an #update(data : String | Bytes) method available. Returns the resulting digest in hexadecimal representation afterwards.

require "digest/md5"

Digest::MD5.hexdigest("foo") # => "acbd18db4cc2f85cedef654fccc4a4d8"
Digest::MD5.hexdigest do |ctx|
  ctx.update "f"
  ctx.update "oo"
end
# => "acbd18db4cc2f85cedef654fccc4a4d8"
View source