Je travaille actuellement sur une application Rails qui stocke des mots de passe en clair (...). Je suis donc en train de migrer vers l'authentification Authlogic avec un cryptage SHA512 'standard'.
J'ai fait cela et cela fonctionne bien :
#file /models/user.rb
class User < ActiveRecord::Base
acts_as_authentic { |c|
c.transition_from_crypto_providers = [MyOwnNoCrypto, Authlogic::CryptoProviders::Sha512]
}
end
#file /lib/my_own_no_crypto.rb
class MyOwnNoCrypto
def self.encrypt(*tokens)
return tokens[0] # or tokens.join I guess
end
def self.matches?(crypted_password, *tokens)
return crypted_password == tokens.join
end
end
C'est bien -- et cela fonctionne très bien -- mais je me demande s'il n'y a pas une façon plus sexy de faire cela, peut-être avec une option du noyau d'Authlogic ?
Merci !