require 'digest' require 'securerandom' class SmartEncryption attr_reader :salt, :hash def initialize(email,password) @salt = SecureRandom.hex(32) @hash = Digest::SHA512.hexdigest(email + password + @salt) end def self.check(email,password,stored_salt,stored_hash) verified_ok = false if stored_hash == Digest::SHA512.hexdigest(email + password + stored_salt) verified_ok = true end verified_ok end end