module Digest::ClassMethods

Overview

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.

Defined in:

digest/digest.cr

Instance Method Summary

Instance Method Detail

def base64digest(data) : String #

Returns the base64-encoded hash of data.

require "digest/sha1"

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

[View source]
def 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]
def digest(data) #

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


[View source]
def 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]
def hexdigest(data) : String #

Returns the hexadecimal representation of the hash of data.

require "digest/md5"

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

[View source]
def 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]