Sha256: 8fd69ac38a90e0442061a9b9b0916f497ac1f44e83e08080732829571b148651
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
module InlineEncryption module Base # @param [String] data encryption target # @return [String] encrypted target # @raise [EncryptionFailureError] couldn't encrypt the target def encrypt!(data) config.check_required_variables begin encrypted = config.real_key.private_encrypt(data) converted = Base64.encode64(encrypted) rescue => e err = EncryptionFailureError.exception "Target: #{data}" raise err end end # @param [String] encryption target # @return [String] encrypted target, or fail_text on error (default data) def encrypt(data, fail_text=nil) config.check_required_variables begin encrypt!(data) rescue EncryptionFailureError => e return fail_text.nil? ? data : fail_text.to_s end end # @param [String] data decryption target # @return [String] decrypted target # @raise [DecryptionFailureError] couldn't decrypt the target def decrypt!(data) config.check_required_variables begin converted = Base64.decode64(data) this_key = config.real_key.private? ? config.real_key.public_key : config.real_key decrypted = this_key.public_decrypt(converted) rescue => e err = DecryptionFailureError.exception "Encrypted: #{data}" raise err end end # @param [String] decryption target # @param [String] text to be returned in the case of a decryption failure # @return [String] decrypted target def decrypt(data, fail_text=nil) config.check_required_variables begin decrypt!(data) rescue DecryptionFailureError => e return fail_text.nil? ? data : fail_text.to_s end end # @return [InlineEncryption::Config] the configuration instance def config @config ||= Config.new end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
inline_encryption-0.0.6 | lib/inline_encryption/base.rb |