class Lark::Cipher
Constants
- CIPHER
Attributes
key[R]
Public Class Methods
new(key)
click to toggle source
# File lib/lark/cipher.rb, line 10 def initialize(key) @key = Digest::SHA256.digest(key) end
Public Instance Methods
decrypt(message)
click to toggle source
# File lib/lark/cipher.rb, line 22 def decrypt(message) cipher = OpenSSL::Cipher.new(CIPHER) cipher.decrypt decode64 = Base64.urlsafe_decode64(message) cipher.key = key cipher.iv = decode64[0..15] ecrypted = decode64[16..-1] cipher.update(ecrypted) + cipher.final end
encrypt(message)
click to toggle source
# File lib/lark/cipher.rb, line 14 def encrypt(message) cipher = OpenSSL::Cipher.new(CIPHER) cipher.encrypt cipher.key = key iv = cipher.random_iv Base64.urlsafe_encode64(iv + cipher.update(message) + cipher.final) end