class Secret::AES
Public Class Methods
decrypt(msg)
click to toggle source
# File lib/secret/aes.rb, line 22 def self.decrypt(msg) self.mode.decrypt msg end
encrypt(msg)
click to toggle source
# File lib/secret/aes.rb, line 18 def self.encrypt(msg) self.mode.encrypt msg end
mode(mode = Mode::AES_256_CBC)
click to toggle source
# File lib/secret/aes.rb, line 14 def self.mode(mode = Mode::AES_256_CBC) self.new(mode) end
new(mode = Mode::AES_256_CBC)
click to toggle source
# File lib/secret/aes.rb, line 10 def initialize(mode = Mode::AES_256_CBC) @cipher = OpenSSL::Cipher::Cipher.new mode end
Public Instance Methods
decrypt(msg, key = Secret.conf.aes_key, iv = Secret.conf.aes_iv)
click to toggle source
# File lib/secret/aes.rb, line 33 def decrypt(msg, key = Secret.conf.aes_key, iv = Secret.conf.aes_iv) @cipher.decrypt @cipher.key = digest_key(key) @cipher.iv = iv if iv != nil @cipher.update(decode_if_need(msg)) + @cipher.final end
encrypt(msg, key = Secret.conf.aes_key, iv = Secret.conf.aes_iv)
click to toggle source
# File lib/secret/aes.rb, line 26 def encrypt(msg, key = Secret.conf.aes_key, iv = Secret.conf.aes_iv) @cipher.encrypt @cipher.key = digest_key(key) @cipher.iv = iv if iv != nil encode_if_need(@cipher.update(msg) + @cipher.final) end
Private Instance Methods
digest_key(key)
click to toggle source
# File lib/secret/aes.rb, line 42 def digest_key(key) hash_mode = Secret.conf.hash_mode if hash_mode hash_mode.hexdigest key else key end end