Class: Underlock::Encryptor
- Inherits:
-
Object
- Object
- Underlock::Encryptor
- Defined in:
- lib/underlock/encryptor.rb
Instance Method Summary collapse
Instance Method Details
#decrypt(encrypted_entity) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/underlock/encryptor.rb', line 17 def decrypt(encrypted_entity) decode_cipher = Underlock::Base.config.cipher.dup decode_cipher.decrypt decode_cipher.key = private_decrypt(encrypted_entity.key) decode_cipher.iv = private_decrypt(encrypted_entity.iv) decode_cipher.update(base64_decode(encrypted_entity.value)[0]) end |
#encrypt(value) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/underlock/encryptor.rb', line 4 def encrypt(value) cipher = Underlock::Base.config.cipher.dup cipher.encrypt key = cipher.random_key iv = cipher.random_iv encrypted_value = base64_encode(cipher.update(value)) encrypted_key = public_encrypt(key) encrypted_iv = public_encrypt(iv) EncryptedEntity.new(value: encrypted_value, key: encrypted_key, iv: encrypted_iv) end |