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) : StringSource

Returns the base64-encoded hash of data.

require "digest/sha1"

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

def base64digest(& : self -> _) : StringSource

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="

def digest(data) : BytesSource

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

def digest(& : self -> ) : BytesSource

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"

def hexdigest(data) : StringSource

Returns the hexadecimal representation of the hash of data.

require "digest/md5"

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

def hexdigest(& : self -> ) : StringSource

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"

© 2012–2021 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.2.1/Digest/ClassMethods.html