Estas três palavras mágicas: “tem senha segura “
Estou no capítulo 6 do tutorial Rails de Michael Hartl e estou surpreso com a facilidade de implementar criptografia de senha em rails!
http://ruby.railstutorial.org/chapters/modeling-users#sec-adding_a_secure_password
Claro, a implementação do código pode ser encontrada aqui:
https://github.com/rails/rails/blob/master/activemodel/lib/active_model/secure_password.rb
bcrypt usa o algoritmo de criptografia blowfish, um algoritmo de chave simétrica.
Veja mais informações sobre isso:
http://en.wikipedia.org/wiki/Blowfish_%28cipher%29
http://www.ehow.com/info_10011200_blowfish-symmetric-encryption-algorithm.html