module Linecook::Crypto
Public Class Methods
keygen()
click to toggle source
# File lib/linecook-gem/image/crypt.rb, line 6 def self.keygen RbNaCl::Random.random_bytes(RbNaCl::SecretBox.key_bytes).unpack('H*').first end
Public Instance Methods
decrypt(source, dest: nil)
click to toggle source
# File lib/linecook-gem/image/crypt.rb, line 16 def decrypt(source, dest: nil) dest ||= "/tmp/#{File.basename(source)}-decrypted" File.write(dest, box.decrypt(IO.binread(source))) dest end
encrypt(source, dest: nil)
click to toggle source
# File lib/linecook-gem/image/crypt.rb, line 10 def encrypt(source, dest: nil) dest ||= "/tmp/#{File.basename(source)}" File.write(dest, box.encrypt(IO.binread(source))) dest end
Private Instance Methods
box()
click to toggle source
# File lib/linecook-gem/image/crypt.rb, line 23 def box @box ||= RbNaCl::SimpleBox.from_secret_key([Linecook.config[:imagekey]].pack('H*')) end