Class: Credify::Helpers

Inherits:
Object
  • Object
show all
Defined in:
lib/credify.rb

Class Method Summary collapse

Class Method Details

.generate_commitment(bytes = 32) ⇒ Object



29
30
31
32
# 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) ⇒ Object



9
10
11
12
# 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) ⇒ Binary

short_urlsafe_decode64

Returns:

  • (Binary)


25
26
27
# 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) ⇒ String

short_urlsafe_encode64

Parameters:

  • - (Binary)

    str

Returns:

  • (String)
    • Base64 URL encoded string without padding



18
19
20
# File 'lib/credify.rb', line 18

def self.short_urlsafe_encode64(bytes)
  Base64.urlsafe_encode64(bytes).delete('=')
end