# Great documentation around ciphers, modes, keys, ivs, and more is available
# here: https://ruby-doc.org/stdlib-3.0.0/libdoc/openssl/rdoc/OpenSSL/Cipher.html
request_body = "The request body to send to Mergent"
cipher = OpenSSL::Cipher.new("aes-256-cbc")
encrypted_request_body = cipher.update(request_body) + cipher.final
decipher = OpenSSL::Cipher.new("aes-256-cbc")
decrypted_request_body = decipher.update(encrypted_request_body) + decipher.final
puts("Request body: #{request_body}")
puts("Encrypted body: #{encrypted_request_body}")
puts("Decrypted request body: #{decrypted_request_body}")
puts("Are they equal?: #{request_body == decrypted_request_body}")