Module: CiderCi::OpenSession::Encryptor
- Extended by:
- Encryptor
- Includes:
- Encoder
- Included in:
- Encryptor
- Defined in:
- lib/cider_ci/open_session/encryptor.rb
Instance Method Summary collapse
Methods included from Encoder
Instance Method Details
#decrypt(secret, encrypted_message) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/cider_ci/open_session/encryptor.rb', line 12 def decrypt(secret, ) iv, encrypted_data, sig = .split('~').map { |m| decode(m) } CiderCi::OpenSession::Signature.validate! sig, secret, encrypted_data cipher = create_cipher :decrypt, secret cipher.iv = iv decrypted_data = cipher.update(encrypted_data) decrypted_data << cipher.final JSON.parse(decrypted_data) end |
#encrypt(secret, message_object) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/cider_ci/open_session/encryptor.rb', line 22 def encrypt(secret, ) cipher = create_cipher :encrypt, secret iv = cipher.random_iv encrypted_data = cipher.update(.to_json) encrypted_data << cipher.final sig = CiderCi::OpenSession::Signature.create secret, encrypted_data "#{encode iv}~#{encode encrypted_data}~#{encode sig}" end |