class Credify::Helpers

Public Class Methods

generate_commitment(bytes = 32) click to toggle source
# File lib/credify.rb, line 29
def self.generate_commitment(bytes = 32)
  random_bytes = SecureRandom.random_bytes(bytes)
  short_urlsafe_encode64(random_bytes)
end
sha256(message) click to toggle source
# File lib/credify.rb, line 9
def self.sha256(message)
  base64 = Digest::SHA256.base64digest(message)
  Helpers.short_urlsafe_encode64(Base64.decode64(base64))
end
short_urlsafe_decode64(str) click to toggle source

short_urlsafe_decode64 @return [Binary]

# File lib/credify.rb, line 25
def self.short_urlsafe_decode64(str)
  Base64.urlsafe_decode64(str + '=' * (-1 * str.size & 3))
end
short_urlsafe_encode64(bytes) click to toggle source

short_urlsafe_encode64 @param [Binary] - str @return [String] - Base64 URL encoded string without padding

# File lib/credify.rb, line 18
def self.short_urlsafe_encode64(bytes)
  Base64.urlsafe_encode64(bytes).delete('=')
end