Class: SecretX::AES
- Inherits:
-
Object
show all
- Includes:
- Encode
- Defined in:
- lib/secretx/aes.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Encode
#decode_if_need, #encode_if_need
Constructor Details
#initialize(mode = Mode::AES_256_CBC) ⇒ AES
Returns a new instance of AES.
9
10
11
|
# File 'lib/secretx/aes.rb', line 9
def initialize(mode = Mode::AES_256_CBC)
@cipher = OpenSSL::Cipher::Cipher.new mode
end
|
Class Method Details
.decrypt(msg) ⇒ Object
21
22
23
|
# File 'lib/secretx/aes.rb', line 21
def self.decrypt(msg)
self.mode.decrypt msg
end
|
.encrypt(msg) ⇒ Object
17
18
19
|
# File 'lib/secretx/aes.rb', line 17
def self.encrypt(msg)
self.mode.encrypt msg
end
|
.mode(mode = Mode::AES_256_CBC) ⇒ Object
13
14
15
|
# File 'lib/secretx/aes.rb', line 13
def self.mode(mode = Mode::AES_256_CBC)
self.new(mode)
end
|
Instance Method Details
#decrypt(msg, key = SecretX.conf.aes_key, iv = SecretX.conf.aes_iv) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/secretx/aes.rb', line 32
def decrypt(msg, key = SecretX.conf.aes_key, iv = SecretX.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 = SecretX.conf.aes_key, iv = SecretX.conf.aes_iv) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/secretx/aes.rb', line 25
def encrypt(msg, key = SecretX.conf.aes_key, iv = SecretX.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
|