Class: FFI::Hydrogen::Secretbox

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

Instance Method Summary collapse

Constructor Details

#initialize(context, key) ⇒ Secretbox

Returns a new instance of Secretbox.



195
196
197
198
199
200
# File 'lib/ffi/hydrogen.rb', line 195

def initialize(context, key)
  @context_ptr = ::FFI::MemoryPointer.new(:char, context.bytesize)
  @context_ptr.put_bytes(0, context)
  @key_ptr = ::FFI::MemoryPointer.new(:uint8, key.bytesize)
  @key_ptr.put_bytes(0, key)
end

Instance Method Details

#decode_decrypt(text, message_id = 0) ⇒ Object



214
215
216
# File 'lib/ffi/hydrogen.rb', line 214

def decode_decrypt(text, message_id = 0)
  ::FFI::Hydrogen.decode_decrypt(text, @context_ptr, @key_ptr, message_id)
end

#decrypt(text, message_id = 0) ⇒ Object



206
207
208
# File 'lib/ffi/hydrogen.rb', line 206

def decrypt(text, message_id = 0)
  ::FFI::Hydrogen.hydro_secretbox_decrypt(text, @context_ptr, @key_ptr, message_id)
end

#encrypt(text, message_id = 0) ⇒ Object



202
203
204
# File 'lib/ffi/hydrogen.rb', line 202

def encrypt(text, message_id = 0)
  ::FFI::Hydrogen.hydro_secretbox_encrypt(text, @context_ptr, @key_ptr, message_id)
end

#encrypt_encode(text, message_id = 0) ⇒ Object



210
211
212
# File 'lib/ffi/hydrogen.rb', line 210

def encrypt_encode(text, message_id = 0)
  ::FFI::Hydrogen.encrypt_encode(text, @context_ptr, @key_ptr, message_id)
end