Module: Mpp::BodyDigest
- Extended by:
- T::Sig
- Defined in:
- lib/mpp/body_digest.rb
Class Method Summary collapse
Class Method Details
.compute(body) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/mpp/body_digest.rb', line 17 def compute(body) case body when Hash body = Mpp::Json.compact_encode(body) when String # use as-is end body = body.encode(Encoding::UTF_8) if body.is_a?(String) digest = OpenSSL::Digest::SHA256.digest(body) encoded = Base64.strict_encode64(digest) "sha-256=#{encoded}" end |
.verify(digest, body) ⇒ Object
32 33 34 35 |
# File 'lib/mpp/body_digest.rb', line 32 def verify(digest, body) expected = compute(body) Mpp.secure_compare(expected, digest) end |