Sha256: 53d23745189ab3a7617d1db46732dbcebcfe663ff7795c0d9ef8860c26afcd69
Contents?: true
Size: 932 Bytes
Versions: 1
Compression:
Stored size: 932 Bytes
Contents
module Stocktwits module Cryptify class Error < StandardError; end def self.encrypt(data) salt = generate_salt {:encrypted_data => EzCrypto::Key.encrypt_with_password(Stocktwits.encryption_key, salt, data), :salt => salt} end def self.decrypt(encrypted_data_or_hash, salt=nil) case encrypted_data_or_hash when String encrypted_data = encrypted_data_or_hash raise ArgumentError, 'Must provide a salt to decrypt.' unless salt when Hash encrypted_data = encrypted_data_or_hash[:encrypted_data] salt = encrypted_data_or_hash[:salt] else raise ArgumentError, 'Must provide either an encrypted hash result or encrypted string and salt.' end EzCrypto::Key.decrypt_with_password(Stocktwits.encryption_key, salt, encrypted_data) end def self.generate_salt ActiveSupport::SecureRandom.hex(4) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stocktwits-1.0.0 | lib/stocktwits/cryptify.rb |