lib/branca.rb in branca-ruby-1.0.0 vs lib/branca.rb in branca-ruby-1.0.1

- old
+ new

@@ -6,15 +6,15 @@ require 'branca/version' require 'branca/exceptions' require 'branca/decoder' module Branca - VERSION = 0xBA - class << self - attr_writer :secret_key, :ttl + VERSION = 0xBA + attr_accessor :secret_key, :ttl + def encode(message, timestamp = Time.now.utc) nonce = RbNaCl::Random.random_bytes(cipher.nonce_bytes) header = [VERSION, timestamp.to_i].pack('C N') + nonce ciphertext = cipher.encrypt(nonce, message, header) @@ -37,20 +37,20 @@ def ttl @ttl ||= ttl_default end def secret_key - @secret_key ||= RbNaCl::Random.random_bytes(32) + @secret_key&.b || RbNaCl::Random.random_bytes(32) end def configure yield self if block_given? end private def cipher - @cipher ||= RbNaCl::AEAD::XChaCha20Poly1305IETF.new(Branca.secret_key&.b) + @cipher ||= RbNaCl::AEAD::XChaCha20Poly1305IETF.new(secret_key) end def token_explode(token) bytes = BaseX::Base62.decode(token).unpack('C C4 C24 C*') header = bytes.shift(1 + 4 + 24)