Quase sempre você precisa proteger as senhas dos usuários. Usar MD5 ou SHA1 é algo tão antigo, tente algo novo: Bcrypt .
Remova o comentário da linha seguinte no Gemfile:
gem 'bcrypt-ruby', '~> 3.0.0'
Então corra:
bundle install
Crie um novo modelo com o campo password_digest. Ao adicionar esta linha ao modelo:
has_secure_password
E agora você tem um armazenamento seguro de senhas. Para autenticar a senha, tente o seguinte:
User.find_by_username('Tom').try(:authenticate, 'cool') => true
Obrigado por ler!
Aurimas