%p %a{:href=>'http://twitter.com/icesurfer'} Ice è la persona che mi ha formato all'inizio della mia carriera ed è anche la persona che mi ha parlato di %a{:href=>'http://www.owasp.org'} Owasp la prima volta, ormai 5 anni fa. %p Mi ha segnalato che, il suggerimento nel mio %a{:href=>'/2011/07/08/insecure_cryptographic_storage_strategie_di_difesa.html'} post era potenzialmente pericoloso. %p Sebbene non siano state rilevati ad oggi collisioni per SHA256, %a{:href=>'http://codahale.com/how-to-safely-store-a-password/'} bcrypt è una soluzione migliore dal punto di vista della security. %br Devise stessa ha scelto di passare da sha a bcrypt ormai %a{:href=>'http://groups.google.com/group/plataformatec-devise/browse_thread/thread/60b69148899ee94a?pli=1'} un anno fa. %p Cambiate il codice dell'ultimo post in modo da usare la %a{:href=>'http://bcrypt-ruby.rubyforge.org/'} gemma Bcrypt %br Dando un'occhiata al codice di esempio fornito assieme alla documentazione, non c'è neanche da cambiare troppo... potere dei framework scritti bene. %pre %code{:class=>'language-ruby coderay'} :escaped require 'bcrypt' class User < ActiveRecord::Base # users.password_hash in the database is a :string include BCrypt def password @password ||= Password.new(password_hash) end def password=(new_password) @password = Password.create(new_password) self.password_hash = @password end end