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.



193
194
195
196
197
198
# File 'lib/ffi/hydrogen.rb', line 193

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



212
213
214
# File 'lib/ffi/hydrogen.rb', line 212

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



204
205
206
# File 'lib/ffi/hydrogen.rb', line 204

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



200
201
202
# File 'lib/ffi/hydrogen.rb', line 200

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



208
209
210
# File 'lib/ffi/hydrogen.rb', line 208

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