Écrire des fixtures n’est généralement pas compliqué (je ne parle pas de maintenance ici). Les champs cryptés posent néanmoins un problème particulier, ne serait-ce que celui de trouver la bonne fonction de cryptage. Dans le cas du plugin acts_as_authenticated, voici la démarche à suivre.
Méthode
Nous voulons un salt raisonnable. Nous l’obtenons donc sur random.org. J’ai obtenu 1290 9d9c 16f8 5fad d3b5 a11f 2fb9 f358 que je recopie dans le champ salt (sans les espaces).
Pour encrypter le mot de passe SourceStuff, nous lançons la console et nous cryptons avec Digest::SHA1. Le résultat est bien sûr recopié dans le champ crypted_password.
xtian$ ./script/console Loading development environment (Rails 2.1.0) >> Digest::SHA1.hexdigest("--12909d9c16f85fadd3b5a11f2fb9f358--SourceStuff--") => "843a3ec693ba69e5f09ba4554f0d0799c979b93c"
Euh… bien sûr vous remplacez le salt et le mot de passe par les votres?. Dois-je le dire ?
Résultat
ErikSink: login: eric email: eric@softwarelegend.com salt: 12909d9c16f85fadd3b5a11f2fb9f358 crypted_password: 843a3ec693ba69e5f09ba4554f0d0799c979b93c