Usar SCrypt com senhas de usuário Devise

scrypt é provavelmente mais seguro do que bcrypt. O Devise provavelmente irá incluí-lo como criptografador, mas até que isso aconteça, você pode exigir esta classe (para aplicativos rails, em seu inicializador de dispositivo) e definir a configuração do criptografador para ‘scrypt’

module Devise
module Encryptable
module Encryptors

class Scrypt < Base
def self.digest(password, stretches, salt, pepper)
::SCrypt::Engine.hash_secret("#{password}#{pepper}", salt)
end

def self.compare(encrypted_password, password, stretches, salt, pepper)
Devise.secure_compare(encrypted_password, digest(password, stretches, salt, pepper))
end

def self.salt(stretches)
::SCrypt::Engine.generate_salt()
end
end
end
end
end